Un colega, que también trabaja con Excel, me preguntó el otro día, si sería posible eliminar un archivo de Excel de forma automática, una vez ha pasado una determinada fecha, para crear una demostración de una plantilla.
La siguiente macro de Excel hace exactamente eso: Cuando llega una fecha determinada (en este caso, la que introduzcamos en la celda A1), nos informará de que el archivo se va a eliminar porque ha caducado el periodo de prueba. Introduce el siguiente código en un módulo estándar:
Sub Eliminar_archivo()
Application.DisplayAlerts = False
ActiveWorkbook.ChangeFileAccess xlReadOnly
Kill ActiveWorkbook.FullName
ThisWorkbook.Close False
End Sub
Sub caducidad()
'deshabilitamos boton cancelar del msgbox
Application.EnableCancelKey = xlDisabled
fecha = Range("A1").Value
If Date < DateSerial(Year(fecha), Month(fecha), Day(fecha)) Then
MsgBox "Dentro de: " & (DateSerial(Year(fecha), Month(fecha), _
Day(fecha)) - Date) & " dias este archivo se AUTOLIMINARA", _
vbInformation, "Tiempo de Expiración"
Else
MsgBox "Lo siento, el tiempo de prueba a terminado." & Chr(13) _
& "Este archivo se autoeliminará.", vbCritical, "Tiempo de Expiración"
Call Eliminar_archivo
End If
End Sub











