Incremento de tiempo en for... next

17/09/2006 - 13:11 por Ivan | Informe spam
Hola a todos

estoy intentando hacer un bucle con OnTime para ejecutar un
procedimiento cada segundo durante 5 segundos. Seguramente estoy
haciendo una burrada, pero tras varias pruebas con diferentes errores,
he acabado intentando hacer un bucle poniendo como contador una
variable date, pero aunque no hay errores, no se produce ningun
resultado.

Expongo el codigo, que posiblemente sea mas explicito:

Dim Aum As Date, Salida As Boolean
Dim Alt As Double, Anch As Double


Sub FotoCreciente()
Dim Nueva As Date
Nueva = Now
With Image1
Alt = .Height: Anch = .Width
For Aum = TimeValue("00:00:01") To TimeValue("00:00:05")
Nueva = Nueva + Aum
Application.OnTime Nueva, "AumentarFoto"
If Salida = True Then
Application.OnTime Nueva, "AumentarFoto", , False
Exit Sub
End If
Next
End With
End Sub

como indica el nombre del procedimiento, se trata de ir aumentando un
formulario y una imagen contenida en un control image hasta un tamaño
determinado durante 5 segundos

Este es el codigo "AumentarFoto"

Sub AumentarFoto()
Salida = False
With Image1
Me.Height = Alt + 108
.Height = Alt + 108
Me.Width = Anch + 168
.Width = Anch + 168
If Alt >= 540 Or Anch >= 840 Then Salida = True
End With
End Sub

Si podeis ayudarme os lo agradezco

un saludo y hasta pronto
Ivan

Preguntas similare

Leer las respuestas

#11 Gabriel Raigosa
30/09/2006 - 22:36 | Informe spam
Carpeta
Descripción
Dirección

1
** Microsoft Excel *
http://esnips.com/web/GabrielRaigosa

2
Archivos para usar en clase
http://esnips.com/web/RaigosaClase

3
Fechas y Horas
http://esnips.com/web/RaigosaFechasHoras

4
Formato y Formato Condicional
http://esnips.com/web/RaigosaFormatos

5
Foro Excel
http://esnips.com/web/ForoExcel

6
Funciones de Busqueda
http://esnips.com/web/RaigosaBusqueda

7
Funciones de Texto
http://esnips.com/web/RaigosaTexto

8
Funciones Financieras
http://esnips.com/web/RaigosaFinancieras

9
Funciones Logicas
http://esnips.com/web/RaigosaLogicas

10
Graficos con Excel
http://esnips.com/web/RaigosaGraficos

11
Grupo (Sabados)
Privado

12
Grupo (Viernes)
Privado

13
Grupo Excel Septiembre
Privado

14
Juegos con Excel
http://esnips.com/web/RaigosaJuegosExcel

15
Macros con Excel
http://esnips.com/web/Macros-con-Excel

16
Manuales Excel
http://esnips.com/web/RaigosaManuales

17
Paginas WEB
http://esnips.com/web/RaigosaPaginasExcel

18
Practicas - XLS
http://esnips.com/web/RaigosaPracticasXLS

19
Tablas Dinámicas
http://esnips.com/web/RaigosaTablasDinamicas

20
TEST
http://esnips.com/web/GabrielRaigosa-test

21
Validación
http://esnips.com/web/RaigosaValidacion

22
Varios
http://esnips.com/web/RaigosaVarios

23
VBA - Visual Basic para Aplicaciones
http://esnips.com/web/RaigosaVBA














Gabriel Raigosa
http://esnips.com/web/Raigosa
http://esnips.com/web/ForoExcel
"Héctor Miguel" escribió en el mensaje
news:
| hola, Ivan !
|
| > estoy intentando hacer un bucle con OnTime para ejecutar un
procedimiento cada segundo durante 5 segundos...
| > he acabado intentando... un bucle poniendo como contador una variable
date, pero aunque no hay errores, no se produce ningun resultado...
|
| 1) necesitas hacer una 'llamada' a la API de windows 'Sleep' en el
modulo/libreria 'Kernel32'
| para 'manipular' un retardo en la secuencia ->por milesimas de
segundo<-
| [probablemente] debieras agregar una instruccion 'DoEvents' [para no
'interferir' con otros procesos]
| -> [encontraras la informacion =>traducida al castellano<= en...]
| WD97 Como Implementar un Retardo en Visual Basic para Aplicaciones
| http://support.microsoft.com/suppor...2/1/50.asp
|
| 2) has unas pruebas con codigos +/- como lo siguiente:
|
| Private Declare Sub Retardo Lib "kernel32" Alias "Sleep" (ByVal
Milisegundos As Long)
|
| Sub Cada_X_Segundos()
| Dim Segundos As Integer
| For Segundos = 1 To 5
| Retardo 1000 ' <= 1000, 'equivale' a 1 segundo [mil milisegundos] ;) '
| ActiveCell.Font.Size = ActiveCell.Font.Size + 1
| ' o llamas al procedimiento para 'aumentar la foto' SIN la variable
booleana de 'Salida' <= OJO '
| Next
| End Sub
|
| saludos,
| hector.
|
| __ el resto del mensaje __
| Dim Aum As Date, Salida As Boolean
| Dim Alt As Double, Anch As Double
|
| Sub FotoCreciente()
| Dim Nueva As Date
| Nueva = Now
| With Image1
| Alt = .Height: Anch = .Width
| For Aum = TimeValue("00:00:01") To TimeValue("00:00:05")
| Nueva = Nueva + Aum
| Application.OnTime Nueva, "AumentarFoto"
| If Salida = True Then
| Application.OnTime Nueva, "AumentarFoto", , False
| Exit Sub
| End If
| Next
| End With
| End Sub
|
| como indica el nombre del procedimiento, se trata de ir aumentando un
formulario y una imagen
| contenida en un control image hasta un tama#o determinado durante 5
segundos
|
| Este es el codigo "AumentarFoto"
| Sub AumentarFoto()
| Salida = False
| With Image1
| Me.Height = Alt + 108
| .Height = Alt + 108
| Me.Width = Anch + 168
| .Width = Anch + 168
| If Alt >= 540 Or Anch >= 840 Then Salida = True
| End With
| End Sub
|
|
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida