Afegir caducitat en un Excel i fer que es tanqui o s’esborri del disc

Afegir caducitat en un Excel i fer que es tanqui o es s’esborri del disc

Amb Microsoft Excel es poden fer moltes coses, Virgueries diria jo. És sens dubte una de les millors aplicacions que Microsoft ha pogut desenvolupar i les seves possibilitats son brutals, prova d’això és l’exercici que realitzarem avui.

Avui fabricarem un fitxer amb Excel que podria contenir les dades que vulgueu, on hi inclourem una macro que anirà comprovant la data per a calcular una caducitat, arribada la data límit, el fitxer donarà una advertència i es tancarà, però si voleu anar més enllà podem programar el mateix fitxer perquè arribada la data de fi, ell mateix s’elimini del nostre disc dur sense ni deixar rastre a la paperera. Que com pot ser això possible? Doncs ara ho veurem.

El primer que farem serà crear un nou document amb Excel, aquest document el guardarem amb el nom que vulguem en el nostre disc i com a extensió seleccionarem xlsm (Archivo de Excel con macros)

123
Amb el fitxer Excel obert, prement al mateix temps les tecles “Alt” i “F11”, cridarem el “Microsoft Visual Basic para aplicacions” aquí és on programarem la macro que durà a terme aquest comportament.

A la part de l’esquerra seleccionem “ThisWorkbook” i posem sel codi de la següent manera

Private Sub Workbook_Open()

Dim exdate As Date

exdate = "12/05/2014"

If Date > exdate Then

MsgBox ("Aquest fitxer ha caducat")

ActiveWorkbook.Close SaveChanges:=False

End If

MsgBox ("Queden " & exdate - Date & " dies")

End Sub

4 

Si us fixeu les comandes son molt senzilles i fàcilment interpretables:

La primera línia fa que aquesta macro s’executi al obrir el llibre, posteriorment definim la variable “exdate” on hi posarem la data de caducitat, seguidament informem de la data de caducitat i li diem que si la data actual és més gran que la “exdate” a les hores mostri una missatge de fitxer caducat i tanqui el llibre sense guardar els canvis,  En ca contrari obre també una finestra i resta el dies que queden entre la data actual i la de caducitat

Ja podem guardar tancar l’Excel i tornar a obrir per a provar si hem obtingut l’efecte desitjat.

Nota: Caldrà que la persona doni permís o habiliti les macros. Per assegurar-nos de que ho farà ho podem fer obligatori per a mostra el contingut del fitxer.

Si estem dins la data de vigència, apareixerà aquest missatge:

6

Si ja hem passat la data fi (Ho podem provar avançant la data de l’ordinador) , veurem aquest missatge i el fitxer es tancarà

7

8

 

Ara, si hi volem donar una volta més, podem fer que un cop caducat, a més de tancar el fitxer, l’esborri del disc dur sense deixar rastre.

Obrim l’arxiu i anem a editar la Macro que hem creat anteriorment, ara cas de que la data sigui superior a la de caducitat a més de mostrar el missatge, cridarem una nova macro a la que hem anomenat “Autodestruccio”, que fara un Kill del fitxet (l’Eliminarà)  i ho tancarà sense guardar

Private Sub Workbook_Open()

Dim exdate As Date

exdate = "11/30/2014"

If Date > exdate Then

MsgBox ("Aquest fitxer ha caducat")

Call AutoDestruccio

End If

MsgBox ("Queden " & exdate - Date & " dies")

End Sub

 


Sub AutoDestruccio()

On Error Resume Next

Application.DisplayAlerts = False

ChangeFileAccess xlReadOnly

Kill ActiveWorkbook.FullName

ActiveWorkbook.Close SaveChanges:=False

On Error GoTo 0

End Sub

9

Ja podeu guardar, canviar la data de l’ordinador i veure com el fitxer s’elimina del disc dur sense possibilitat de recuperació

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.