• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Middels VBA bestanden verwijderen ouder dan 1 dag

Status
Niet open voor verdere reacties.

longron

Gebruiker
Lid geworden
2 apr 2007
Berichten
365
Beste allemaal,

hoe kan ik met VBA in een map alle bestanden verwijderen ouder dan 1 dag?

Code:
Public Sub RSVerwijderKopie()
strPath = "H:\Tijdelijk Rooster\"
strFile = Dir(strPath)
  Do While strFile <> RS
   If FileDateTime(strPath & strFile) < Now Then Kill strPath & strFile
     strFile = Dir
  Loop
End Sub


Gebruik ik nu maar ik wil dan dus alleen bestanden ouder dan vandaag verwijdweren.

Thanks voor het meedenken.
Ronald
 
en dan ga ik nadenken dan moet het lukken met <now -enzzzzz


moet ik dus wel uitkomen en anders meld ik me weer.
 
Now is Datum+Tijd. Zou ik nooit doen, want op het moment dat jij een bestand opslaat, wordt-ie met deze code verwijderd. De eerstvolgende milliseconde zorgt daar namelijk voor. Gebruik, als je op datums wilt filteren, altijd Date.
 
Zoiets:
Code:
Public Sub RSVerwijderKopie()
    Dim fs As Object
    Dim f As Object
    
    Set fs = CreateObject("Scripting.FileSystemObject")
    strpath = "H:\Tijdelijk Rooster\"
    strfile = Dir(strpath)
    
    Do While strfile <> ""
        Set f = fs.GetFile(strpath & strfile)
        If DateDiff("d", f.DateLastModified, Date) > 1 Then Kill strpath & strfile
        strfile = Dir
    Loop
End Sub

Uiteraard test je dat eerst op een map met dummy bestanden.
 
Laatst bewerkt:
Top,

dat werkt goed.
en thanks voor het advies.

Groet

Ronald
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan