Demos y caducidad

Tengo una pregunta que en realidad son dos, quisiera saber como puedo crear demos en excel, es decir, hace poco recibí un archivo de excel que me permitía hacer proyecciones pero solo funcionaba por 15 días, ¿cómo puedo hacer yo lo mismo con un archivo mio? Y adicionalmente, que debo hacer para que un archivo que yo cree y facilite a una persona determinada, solo pueda ser utilizado en un computador seleccionado, que al momento de pasarlo a otra ubicación se deshabiliten sus funciones.
Espero que ustedes entiendan lo que pregunto, perdón por la desprolijidad y ojalá me puedan ayudar,
Muchos éxitos
Beorhtnoth

1 Respuesta

Respuesta
1
Se puede hacer grabando el libro o grabando el registro (o ambas cosas)
Para una fecha de caducidad incluir en el evento Open del libro una rutina que controle el contenido de cierta celda. Si está vacía, es la primera vez que se abre el libro y se coloca la fecha +... días.
Si tiene fecha (será la que colocaste en el punto anterior), se compara con la del sistema, si es menor : "lo siento" y el libro se cierra.
Para que solo sea utilizado en un computador habrá que grabar el registro o utilizar otra celda con un valor y en el evento Open, controlar si esa celda oculta tiene un valor > 0. Si no lo tiene es la primera vez que se abre, se coloca un valor = 1.
Si ya tiene un valor > 0 se cierra el libro.
Además podes también incluir en el mismo evento Open el control de fechas.
Es necesario incluir una instrucción Sabe luego de modificar este campo y también proteger el VBA con clave.
Hola Elsa, gracias por la información, pero sigo teniendo un problema y es que no se como incluir en la Private Sub Workbook_Open la orden para ejecutar la primera vez que se abre el libro, no se como redactar el código, así que si pudieras ayudarme con eso te agradecería infinitamente,
Mil gracias
Beorhtnoth
Tolis!
Elsa, mil gracias
Este código sirve para controlar la fecha de caducidad. Coloqué la macro en un módulo para que la puedas probar.
En el objeto ThisWorkbook se llama a la rutina:
Private Sub Workbook_Open()
controlFecha
End Sub
Insertá un módulo y copia esto:
Sub controlFecha()
Application.ScreenUpdating = False
Dim miFecha As Date
If Sheets("Hoja2").Range("Z2") = "" Then
'significa que es la primera apertura del libro
'coloco una fecha de caducidad
miFecha = Now() + 15
Sheets("Hoja2").Range("Z2") = CDate(miFecha)
ActiveWorkbook.Save
Else
'significa que el libro ya fue abierto
'se comparan las fechas
If Sheets("Hoja2").Range("Z2") < Now Then
MsgBox "Lo siento, este libro ha caducado"
ActiveWorkbook.Close False
Exit Sub
End If
End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas