fejoal , Por falta de tiempo para responder como me gusta hacerlo suspendo...
... 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
el 2 dic. 02