Beruflich Dokumente
Kultur Dokumente
Un colega, que tambin trabaja con Excel, me pregunt el otro da, si sera posible
eliminar un archivo de Excel de forma automtica, una vez ha pasado una
determinada fecha, para crear una demostracin 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 cdigo en un mdulo estndar:
Badabil
1
2
3
4
5
6
7
8
9
1
0
1
1
1
2
1
3
1
4
1
5
1
6
1
7
1
8
1
9
2
0
2
1
2
2
2
3
2
4
2
5
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 Expiracin"
Else
MsgBox "Lo siento, el tiempo de prueba a terminado." & Chr(13) _
& "Este archivo se autoeliminar.", vbCritical, "Tiempo de Expiracin"
Call Eliminar_archivo
End If
End Sub
2
6
2
7
2
8
Sub AutoDestruccion()
On Error Resume Next
Application. DisplayAlerts = False
With ActiveWorkbook
. ChangeFileAccess xlReadOnly
Kill. FullName
. Close
End With
Application. DisplayAlerts = True
End Sub