Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Alle Dateien löschen, die älter als 30 Tage sind

Gruppe

Arbeitsmappe

Problem

Aus dem in Zelle B1 genannten Verzeichnis sollen alle Excel-Dateien gelöscht werden, dere letztes Bearbeitungsdatum mehr als 30 Tage zurückliegt.

Lösung
Geben Sie den nachfolgenden Code in ein Standardmodul ein und weisen Sie ihn einer Schaltfläche zu.

StandardModule: Modul1

Sub DateiLöschen()
   Dim sPath As String
   Dim iCount As Integer, iCounter As Integer
   sPath = Range("B1").Value
   If MsgBox("Sollen die Dateien tatsächlich gelöscht werden?", _
      vbCritical + vbYesNo) = vbNo Then Exit Sub
   iCount = 30
   With Application.FileSearch
      .LookIn = sPath
      .Filename = "*.xls"
      .Execute
      For iCounter = 1 To .FoundFiles.Count
         If FileDateTime(.FoundFiles(iCounter)) + 30 < Date Then
            Kill .FoundFiles(iCounter)
         End If
      Next iCounter
   End With
End Sub