** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Otros de Microsoft: Windows y Office > Otros Productos Microsoft
  Mensajes nuevos Mensajes nuevos RSS - funcion sleep VBA ppt
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradofuncion sleep VBA ppt

 Responder Responder
Autor
Mensaje
j.koroso Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 12/Noviembre/2006
Localización: España
Estado: Sin conexión
Puntos: 203
Enlace directo a este mensaje Tema: funcion sleep VBA ppt
    Enviado: 03/Agosto/2016 a las 15:56
Hola!

Tengo una diapositiva ppt donde he puesto recuadros con texto, un procedimiento de vba conecta a una base de datos y rellena el texto de los cuadrados. En principio tenia un botón para lanzar el procedimiento y funciona ok. El caso es que quiero que se haga solo cada 15 segundos y he usado la función sleep pero el ppt se queda colgado. Hay algo parecido al timer de visual basic para que el ppt no se quede bloqueado?

muchas gracias, uso PowerPoint 2010
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: en línea
Puntos: 5044
Enlace directo a este mensaje Enviado: 03/Agosto/2016 a las 16:34
Hola!

Creo que te has equivocado de foro, esta sección es de Access.

Contestando a tu pregunta, la función Sleep no es propia de PowerPoint, tienes que declararla como Api de Windows.

En un Modulo pones esta línea:

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)


luego en un determinado evento la utilizas de la siguiente forma:

Sleep 1000   ' Donde 1000 (milisegundos) equivale a un segundo.

Espero que te funcione.
Un Saludo.
Arriba
j.koroso Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 12/Noviembre/2006
Localización: España
Estado: Sin conexión
Puntos: 203
Enlace directo a este mensaje Enviado: 03/Agosto/2016 a las 16:58
Hola gracias por tu respuesta!

Lo puse en esta sección porque mi consulta es mas de VBA a que de PowerPoint. Como bien indicas hay que declararla antes de usarla, eso ya lo he hecho y como comento el problema es que haciéndolo asi la aplicación se queda bloqueada y no puedo interactuar con nada.

busco algún control o procedimiento que haga lo mismo sin dejar la aplicación bloqueada, saludos
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: en línea
Puntos: 5044
Enlace directo a este mensaje Enviado: 03/Agosto/2016 a las 18:26
Hola!

Aquí te dejo un enlace de las posibles opciones:

http://analystcave.com/vba-sleep-vs-wait/
Un Saludo.
Arriba
j.koroso Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 12/Noviembre/2006
Localización: España
Estado: Sin conexión
Puntos: 203
Enlace directo a este mensaje Enviado: 03/Agosto/2016 a las 18:45
Muchas gracias!

he encontrado este codigo y parece que funciona, voy a probar tambien lo que me has pasado.

Private Sub actualizar_Click()

Dim PauseTime, Start, Finish, TotalTime

    Do

    PauseTime = 5    ' Set duration.
    Start = Timer    ' Set start time.
        Do While Timer < Start + PauseTime
            DoEvents    ' Yield to other processes.
            Call prueva(Me) ' consulta a la base de datos
        Loop
    Finish = Timer    ' Set end time.
    TotalTime = Finish - Start    ' Calculate total time.
   
   
    Loop

End Sub




Arriba
ceac Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 05/Octubre/2007
Localización: Colombia
Estado: Sin conexión
Puntos: 1465
Enlace directo a este mensaje Enviado: 03/Agosto/2016 a las 22:33
Hola!

Yo siempre he usado este:

Public Function PausaCodigo(n As Integer)

Dim Inicio As Date

'Cargo el valor que se utiliza en el bucle Do
Inicio = Now()

Debug.Print "Hora antes de entrar en el Bucle: " & Inicio

'Recorre el bucle hasta que han pasado n segundos

Do
    If DateDiff("s", Inicio, Now()) >= n _
    Then Exit Do

Loop

'Imprime la hora final y emite un sonido
Debug.Print "Hora despues de salir del bucle: " & Now()
Beep

End Function
«Todos morimos, pero sólo unos pocos viven de verdad» Mel Gibson - Corazón Valiente

Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable