Stapeln Löschen mehrerer unerwünschter oder nicht verwendeter Dateien mit Excel VBA

Jetzt teilen:

Möglicherweise sind mehrere unerwünschte und nicht verwendete Dateien auf Ihrem Speicherplatz vorhanden. Das Bereinigen dieser Dateien kann eine große Aufgabe sein. Mit Excel können Sie solche nicht verwendeten Dateien leicht finden und sofort löschen, um Speicherplatz freizugeben.

Laden Sie den WHS jetzt kostenlos herunter

Wenn du s willsttarUm die Software so schnell wie möglich zu verwenden, können Sie:

Laden Sie die Software jetzt herunter

Andernfalls können Sie den folgenden Inhalt lesen, wenn Sie selbst basteln möchten.

Bereiten wir die GUI vor

Entfernen Sie unerwünschte Arbeitsblätter aus der Arbeitsmappe, benennen Sie Blatt 1 als GUI um und speichern Sie die Arbeitsmappe als makrofähige Arbeitsmappe. Erstellen Sie, wie im angehängten Bild gezeigt, zwei Schaltflächen auf dem Blatt und benennen Sie die Schaltfläche 1 in "Durchsuchen" und die Schaltfläche 2 in "Dateien löschen" um. Sie können entweder mehrere Spalten zusammenführen, um eine größere Spalte für den Dateipfad zu erstellen, oder Sie können die Breite einer einzelnen Spalte erhöhen.Bereiten Sie die GUI vor

Machen wir es funktionsfähig

Kopieren Sie das Skript in ein neues Modul in Ihrer makrofähigen Arbeitsmappe. Bitte stellen Sie sicher, dass der Modulname Modul1 lautet. Andernfalls gibt das Skript einen Fehler aus. Fügen Sie das Skript "Scan_This_Folder" an die Schaltfläche "Durchsuchen" an, und die Prozedur "Delete_Files" sollte an die Schaltfläche "Delete Files" angehängt werden.

Sub filefordelete()
    Dim v_var1 As Scripting.FileSystemObject
    Dim v_var2 As Scripting.Folder
    Dim v_var3 As Scripting.File
    scanthis = Range("B3").Text
    Set v_var1 = New Scripting.FileSystemObject
    Set v_var2 = v_var1.GetFolder(scanthis)
    i = 7
    For Each v_var3 In v_var2.Files
        Cells(i, 2) = v_var3
        Cells(i, 11) = v_var3.DateLastModified
        i = i + 1
    Next v_var3
    Set v_var1 = Nothing
End Sub

Sub Delete_Files()
    Dim lr As Long
    Dim r As Long
    lr = Range("B" & Rows.Count).End(xlUp).Row
    For r = 7 To lr
        Kill Range("B" & r).Value
    Next r
End Sub

Function scanthisfolder() As String
    Dim v1 As FileDialog
    Dim v2 As String
    Set v1 = Application.FileDialog(msoFileDialogFolderPicker)
    With v1
        .Title = "Folder to scan for files"
        .AllowMultiSelect = False
        If .Show <> -1 Then GoTo NextCode
        v2 = .SelectedItems(1)
    End With
NextCode:
    scanthisfolder = v2
    Set v1 = Nothing
End Function

Sub Scan_This_Folder()
    Range("B3").Value = scanthisfolder()
    Call Module1.filefordelete
End Sub

Wie funktioniert es?

VBA-CodeWenn der Benutzer einen Ordner auswählt, liest das Skript alle Dateien im ausgewählten Ordner und zeigt den Dateinamen zusammen mit dem Datum der letzten Änderung an. Überprüfen Sie die Liste, entfernen Sie Zeilen, wenn Sie die Datei beibehalten möchten, und klicken Sie dann auf die Schaltfläche "Dateien löschen". Das Skript identifiziert nun die zuletzt verwendete Zeile und löscht Dateien, die den Dateipfad lesen, aus dem Blatt.

Optimiere es

Ab sofort sucht das Skript nach Dateien im ausgewählten Ordner. Wenn der ausgewählte Ordner Unterordner enthält, kann das Skript ihn nicht scannen. Sie können das Skript optimieren, um alle Unterordner im Stammordner zu scannen, und eine neue Spalte erstellen, um das „Datum der letzten Änderung“ von Dateien mit dem aktuellen Datum zu vergleichen und die Tage anzuzeigen. Anschließend können Sie das Skript so anpassen, dass Dateien basierend auf der Anzahl der Tage automatisch gelöscht werden. Obwohl das Skript die Dateiskripttechnik von Microsoft verwendet, werden die Dateieigenschaften von beschädigt xlsx Dateien können nicht abgerufen werden.

Einführung des Autors:

Nick Vipond ist ein Datenrettungsexperte in DataNumen, Inc., das weltweit führend bei Datenwiederherstellungstechnologien ist, einschließlich Wort wiederherstellen und Outlook Recovery-Softwareprodukte. Für weitere Informationen besuchen Sie www.datanumen.com €XNUMX.

Jetzt teilen:

Kommentare sind geschlossen.