supprimer un fichier automatiquement après 5 jours

Gix

XLDnaute Occasionnel
Bonjour à tous,

Je me tourne vers vous afin trouver de l'aide concernant une macro pour un fichier world.
Ok je suis conscient qu'ici c'est un forum excel mais je me suis dit qu'il y aura surement quelqu'un qui connait le code car il s'agit d'une macro.
En résumé , imaginons que j'ai crée aujourd'hui un fichier world,puis 5 jours après je désir l'ouvrir à nouveau.Est-il possible d'écrire une macro qui me permette de détecter que ce fichier a été crée il y a déjà 5 jours?
Ensuite, un avertissement me prévient et supprime ce fichier automatiquement de mon PC car 5 jours sont passés.

En vous remerciant par avance de votre aide.
A vous lire.
Gix.
 

Staple1600

XLDnaute Barbatruc
Re : supprimer un fichier automatiquement après 5 jours

Re

EDITION: voir ici pour utiliser Kill
How to delete files using VBA, including files which may be readonly



Un exemple de script VBS
(pouvant être utilisé avec VBA)

(adapté le -10 à -5)
Code:
 Option Explicit 
 Dim FSO, WshShell, Then_Date, WSHShellENV, TempFolder, Recycled 
 On Error Resume Next 
 Set FSO = CreateObject("Scripting.FileSystemObject")    ' creating a new object to a computer's file system 
 Set WshShell = WScript.CreateObject("WScript.Shell")    ' creates an object in type specified 
 Set WSHShellENV = WSHShell.Environment("PROCESS") 
 set TempFolder = FSO.GetFolder(WSHShellENV("TEMP"))    ' creates a Folder object to the path you specify 
 Set Recycled = FSO.GetFolder("C:\test")        ' creates a Folder object to the path youspecify and name it 
 DoDir FSO.GetFolder("C:\deleting")        'set starting directory A MUST 
 Then_Date = DateAdd("d", -10, Date) 
  
  
 Sub DoDir(Folder) 
 Dim i, File, SubFolder, fstr, pos, last_mod        ' creating variables needed for function 
 Dim Now_Date, Then_Date                ' creates the variable used for today's date 
 Now_Date = Date                    ' loads today's date into variable Now_Date 
 Then_Date = DateAdd("d",-10, Now_Date)        ' subtracts ten days from the current date 
  
 '   WScript.Echo(Then_Date)                ' TEST FOR THEN DATE 
 '   WScript.Echo(Now_Date)                ' TEST FOR TODAY'S DATE 
 '   WScript.Echo(Folder)                ' TEST FOR CORRECT FOLDER 
  
 For Each File In Folder.Files            ' For each file in folder.files 
 if ((File.DateLastModified <= Then_Date)) then    ' check whether the file IS 
 ' older than keep date 
 File.delete                    ' if older than keep date, simply delete it 
 End if 
 Next 
 For Each SubFolder in Folder.SubFolders 
 DoDir SubFolder 
 Next 
 End Sub
Ce lien n'existe plus

On peut aussi envisager d'utiliser le planificateur de tâches de Windows
pour lancer ce script.
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : supprimer un fichier automatiquement après 5 jours

Re

Voir aussi de ce côté:
EDITION 1:
En direct de la maison mère:
WD: How to Automate a Process Based on Number of Days Since Last Revision




Code:
Sub AutoOpen()
ActiveDocument.Variables("SavedDate").Value =
[B]ActiveDocument.BuiltInDocumentProperties[/B](wdPropertyTimeLastSaved)
ActiveDocument.Saved = True
End Sub
Sub ScratchMacro()
If ActiveDocument.Variables("SavedDate").Value <> _
  ActiveDocument.BuiltInDocumentProperties(wdPropertyTimeLastSaved)
Then
  MsgBox "This document was saved or changed since it was opened"
End If
If Not ActiveDocument.Saved Then
  MsgBox "This document was saved or changed since it was opened"
End If
End Sub
source
 
Dernière édition:

Gix

XLDnaute Occasionnel
Re : supprimer un fichier automatiquement après 5 jours

Bonjour à tous, Staple

Je te remercie d'avoir passer du temps à me trouver tous ces liens.
Je vais essayer d'adapter ça à mon fichier et je te tiens au courant.
Merci encore une fois.

A bientôt Gix.
 

Discussions similaires

Statistiques des forums

Discussions
312 504
Messages
2 089 090
Membres
104 027
dernier inscrit
Luc ECODIS