Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1176to1180
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Files in Ordner löschen

Files in Ordner löschen
Hansjörg
Hallo Excel Fans
Folgende Aufgabe:
Ich speichere (per VBA) bei jedem Verlassen der Excel Anwendung ein Backup mit dem Datum im Filename in einem separaten Ordner.

Sub Backupsichern()
ThisWorkbook.SaveAs Filename:="f:\Isler\backups\Backup_" & Format(Date$, "ddd.dd.mmm.yy") &  _
Format(Hour(Now), "00") & _
Format(Minute(Now), "00") & Format(Second(Now), "00") & ".xlsm"
End Sub


Dies hat zur Folge dass in diesem Ordner mit der Zeit unmengen an Backupfiles angelegt werden. Wie kann ich nun ältere Files per VBA Funktion löschen? Zum Beispiel alle Files die älter sind als 3 Monate?
Vielen Dank
Hansjörg

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Files in Ordner löschen
06.09.2010 22:08:24
Otto
Was hälst du denn davon ?
Dim backupDir
backupDir = "f:\Isler\backups"
On Error Resume Next
Kill (backupDir & "\*.*")
AW: Files in Ordner löschen
06.09.2010 22:15:19
jj.krebs@ggaweb.ch
Danke ich werds versuchen
ACHTUNG
06.09.2010 22:25:33
Ramses
Hallo
Damit werden ohne Rückfrage ALLE Daten gelöscht. Auch deine neuen.
Ich denke nicht, dass du das willst.

Sub Delete_Oldest_Files()
    Dim myFSO As Object, myFld As Object, myFldFiles As Object
    Dim myFile As Object
    Dim i As Long, xDel As Byte
    Dim srcFolder As String
    'Zu durchsuchender Ordner
    'den Pfad anpassen
    srcFolder = "C:\Test\"
    'Definition des System Objectes
    Set myFSO = CreateObject("scripting.FileSystemObject")
    If myFSO.folderexists(srcFolder) = False Then
        MsgBox "Der Ordner existiert nicht"
        Exit Sub
    End If
    Set myFld = myFSO.GetFolder(srcFolder)
    Set myFldFiles = myFld.Files
    'Tage ab wann gelöscht werden soll
    xDel = 90
    For Each myFile In myFldFiles
        'Zur Kontrolle Ausgabe im Direktfenster
        Debug.Print myFile.Name
        'Löscht Dateien die älter sind als "xDel" Tage
        If myFile.DateCreated < Now - xDel Then
            'Wenn du sicher bist, dass das Löschen korrekt ist
            'kannst du die nächste Zeile löschen
            MsgBox "Datei: " & myFile & " wäre zum löschen"
            'Zum scharfen Löschen (OHNE MÖGLICHKEIT DER WIEDERHERSTELLUNG = Kein Papierkorb)
            'das Hochkomma vor der nächsten Zeile entfernen
            'Kill myFile
        End If
    Next
End Sub

Gruss Rainer
Anzeige
AW: ACHTUNG
08.09.2010 17:53:08
jj.krebs@ggaweb.ch
hallo Rainer,
funktioniert super, danke, vielleicht wieder beim nächsten Problem.
Grüsse aus der Schweiz

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige