Impedir la ejecución de una macro al pasar una fecha

Hola gfellay, mi problema es el siguiente:
tengo una plantilla (*.xlt) y al abrir una hoja "hija" quiero que pasada una determinada fecha no se pueda ejecutar una macro que tiene. El código que tengo ahora mismo es el siguiente:
"If Now < 39550 Then GoTo 2
With ActiveWorkbook
.RunAutoMacros xlAutoClose
.Close SaveChanges:=False
End With
2"
El problema surge porque cambiando la fecha del ordenador es posible ejecutarla, la solución es guardar un valor booleano en alguna casilla cuando se pase esa fecha y se quede guardado en la plantilla, pero al ser una hoja que proviene de una plantilla (*.xlt) no se cómo obtener la ruta de la plantilla para poder modificarla.
Espero haberme explicado bien.
Gracias, un saludo.

1 Respuesta

Respuesta
1
Si es lo que creo, lo puedes obtener con
ThisWorkbook. Path
Pero no estoy seguro de haber entendido bien
Saludos
Gustavo
PD: yo iría por la fecha; ¿Puede ser que el usuario NO necesite tener la fecha actualizada? Me parece difícil en estos tiempos pero tu sabrás...
Gracias por contestarme, pero creo que no me he explicado bien; mi problema se resume a lo siguiente:
Tengo una plantilla "prueba.xlt", cuando la abres te genera un archivo "prueba1.xls" que es donde se trabaja, entonces para la instrucción que comentas (ThisWorkbook.Path) no obtengo ruta, ya que el archivo todavía no se ha guardado (¿estará en el temporal?).
Necesito la ruta de la plantilla madre para poder abrirla, modificarla y guardarla, y no se cómo obtener esa ruta.
Espero haberme explicado mejor ahora.
No es cuestión de que el usuario necesite o no tener la fecha actualizada, si no de que el archivo no se utilice a menos que yo lo vaya autorizando.
Gracias.
Puedes hacerlo con
Workbooks("prueba.xlt").Path

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas