Visual Basic - Macro que permita que se ejecute otra con el archivo cerrado

Life is soft - evento anual de software empresarial
 
Vista:

Macro que permita que se ejecute otra con el archivo cerrado

Publicado por Aida Menendez Rodriguez (1 intervención) el 08/10/2018 00:56:51
Buenas,
Tengo una macro para copiar un archivo cada cierto tiempo, para ello tengo que iniciar un temporizador, este archivo lo usamos varias personas y no siempre se activa el funcionamiento.
¿Como puedo conseguir que el temporizador siga funcionando aunque cierre el archivo?
Os adjunto la macro.
Muchas gracias anticipadas
 
Dim Tiempo As Variant
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Dim Ejecutando As Boolean
 
Sub programarMacro()
Tiempo = Now + TimeValue("02:00:00")
Application.OnTime Tiempo, "Copia", , True
End Sub
 
Sub Copia()
ThisWorkbook.SaveCopyAs "C:Ruta del archivo\" & Day(Date) & Month(Date) & Year(Date) & Hour(Time) & Minute(Time) & Second(Time) & ".xlsm"
Call programarMacro
End Sub
 
Sub IniciarReloj()
Ejecutando = True
Call programarMacro
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 1.259
Plata
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Macro que permita que se ejecute otra con el archivo cerrado

Publicado por Antoni Masana (558 intervenciones) el 08/10/2018 07:29:10
Primero la fecha del archivo que guardas es mejor en formato Año + Mes + Dia, de todas formas así es más simple

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Option Explicit
 
Dim Tiempo As Variant
Dim Ejecutando As Boolean
 
Sub programarMacro()
    Tiempo = Now + TimeValue("00:00:05")
    'Application.OnTime Tiempo, "Copia", , True
End Sub
 
Sub Copia()
    ThisWorkbook.SaveCopyAs "C:\TMP\popo." & Format(Date, "yyyymmdd") & Format(Time, "hhmmss") & ".xlsm"
    Call programarMacro
End Sub
 
Sub IniciarReloj()
    Ejecutando = True
    Call programarMacro
End Sub

Si el fichero XLSM esta cerrado no se puede ejecutar la macro otra cosa es asegurárte de que se ejecuta la macro cuando se abra el Libro.

Usa la el procedimiento Open el ThisWorkBook

1
2
3
4
5
Option Explicit
 
Private Sub Workbook_Open()
    Call IniciarReloj
End Sub

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 3
Ha aumentado su posición en 6 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Macro que permita que se ejecute otra con el archivo cerrado

Publicado por Aida Menendez Rodriguez (1 intervención) el 08/10/2018 09:45:10
Muchas gracias por las sugerencias, las pondré en práctica.
Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar