Timer

Hola Fernando.
Te mando un Gran saludo, ( Hace días no te escribía ).
Me gustaría tu opinión sobre lo siguiente:
Necesito desde excel abrir y cerrar una forma ( FRM ), en ciertos periodos de tiempo, para esto necestitaria un Control como el TIMER de VB.
Pero este controlesdisponibles de Excel, no lo veo.
¿Cómo puedo cargarlo a excel o como crees que pueda resolver mi necesidad?
Mil Gracias
Un Beso. PATY
Respuesta
1
... y, menos mal que no lo hiciste, pues se perdió todo lo dicho la semana pasada. Aparentemente hubo un problema con el proveedor del servicio para TodoExpertos.com
Respecto a tu pregunta creo que no necesitas un Timer, sino que lo resolverías con el método OnTime
Es decir:
A partir del momento que deba mostrarse por primera vez tu forma, ejecuta la siguiente macro (que deberá estar en un módulo):
Sub AbreFRM()
'Tu comando específico de apertura
Application.OnTime Now + TimeValue("00:00:05"), "CierraFRM"
End Sub
Public Sub CierraFRM()
'tu comando específico de cierre
Application.OnTime Now + TimeValue("00:00:05"), "AbreFRM"
End Sub
Con esto debería bastar.
De todos modos, si realmente buscas un "Timer", existe una función desarrollada (no como control de VB, pues desconozco que exista como tal para MS Excel)
Aquí te copio el código, tal como lo expresó su autor:
' *********************************************************************
' Excel VBA Timer Example v1.00
' Copyright ©2002 by Sebastian Thomschke, All Rights Reserved.
' http://www.sebthom.de
'*********************************************************************
' If you like this code, please vote for it at Planet-Source-Code.com:
' http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=34409&lngWId=1
' Thank you
'*********************************************************************
' WARNING: ANY USE BY YOU IS AT YOUR OWN RISK. I provide this code
' "as is" without warranty of any kind, either express or implied,
' including but not limited to the implied warranties of
' merchantability and/or fitness for a particular purpose.
'*********************************************************************
' You are free to use this code within your own applications, but you
' are expressly forbidden from selling or otherwise distributing this
' source code without prior written consent.
' *********************************************************************
Option Explicit
Dim timer_enabled As Boolean
Dim timer_interval As Double
' *********************************************************************
' your code goes into this Makro (AQUI IRIA TU MACRO DE APERTURA/CIERRE)
' *********************************************************************
Sub Timer()
' output the current time to cell D13 or h2?)
Range("h2").Value = Format(CStr(Time), "hh:mm:ss")
End Sub
' *********************************************************************
' internal timer methods
' *********************************************************************
Sub timer_OnTimer()
Call Timer
If timer_enabled Then Call timer_Start
End Sub
'=====
Sub timer_Start(Optional ByVal interval As Double)
If interval > 0 Then timer_interval = interval
timer_enabled = True
If timer_interval > 0 Then Application.OnTime (Now + timer_interval), "Timer_OnTimer"
End Sub
'=====
Sub timer_Stop()
timer_enabled = False
End Sub
----
Es bastante útil, pero creo que para lo que buscas, la primera sugerencia es lo más apropiado.
Un beso!
Fernando

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas