22/11/16
Buenas, Mauricio
Habría que hacer una serie de consideraciones para que sea efectivo, pero esta rutina avisa y cierra el archivo si hubiese expirado la fecha.
Para que funcione, activa el editor de Visual Basic (presiona Alt+F11) y en el panel de la izquierda busca la hoja que dice "ThisWorkbook" (o "EsteLibro" según la versión")
Copia el código siguiente y pégalo en el panel desplegado a la derecha de su Editor de Visual Basic:
Private Sub Workbook_Open()
Application.EnableCancelKey = xlDisabled
FechaFin = "23/11/2016" '<<< Fecha de Expiración
If Date = FechaFin Then
ElMensaje = "Este archivo ya no es válido." & Chr(10) & _
"Contactarse con Mauricio Varela para reactivarlo" & Chr(10) & "Ahora se cerrará."
ElTitulo = "ARCHIVO EXPIRADO!"
TipoMens = vbCritical
MsgBox ElMensaje, TipoMens, ElTitulo
Application.EnableCancelKey = xlErrorHandler
ActiveWorkbook.Close xlNo
Else
HojaIni = ActiveSheet.Name
Application.ScreenUpdating = False
For Each Hoja In Sheets
Hoja.Visible = True
Next
Sheets(HojaIni).Select
Application.ScreenUpdating = True
End If
Application.EnableCancelKey = xlErrorHandler
End Sub
Notarás que la rutina impide que se interrumpa el código presionando Ctrl + Pausa (o Break). Que sería una forma de evitar que se cierre.
De todos modos, cualquier control sería inútil si se desactivara la ejecución de macros... ¿verdad?
Si crees que eso podría pasar (que alguien desactive las macros para poder acceder al código y cambiar la fecha o anular esta protección), deberías asegurarte que las hojas estén ocultas (con atributo VeryHidden, para que sólo una macro pudiera desocultarlas) y la rutina que te pasé se encarga de mostrar todas las hojas si la fecha estuviera vigente.
Desde luego, deberás proteger la estructura del libro y el código de Visual Basic con claves.
Para la protección de módulos, accede al Editor de Visual Basic, en su Navegador de Proyectos, busca el de tu archivo –cierra todos los elementos que tenga asociado- haz click derecho sobre él. Elige “Propiedades del VBA Project”. Selecciona la solapa de Protección, marca la casilla de “Bloquear proyecto para visualización” y también ingresa otra contraseña aquí.
Un abrazo!
Fernando