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