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
								










