Jak dávkově odstranit více nežádoucích nebo nepoužívaných souborů pomocí aplikace Excel VBA

Sdílej nyní:

Na disku může být několik nechtěných a nepoužívaných souborů. Čištění těchto souborů může být obrovský úkol. S aplikací Excel můžete snadno najít takové nepoužívané soubory a okamžitě je smazat, abyste uvolnili místo na disku.

Stáhnout nyní

Pokud chcete software začít používat co nejdříve, můžete:

Stáhněte si software hned

Jinak si můžete přečíst obsah níže, pokud si chcete udělat kutilství.

Připravíme GUI

Odeberte nežádoucí listy ze sešitu a přejmenujte list 1 jako GUI a uložte sešit jako sešit s povolenými makry. Jak je znázorněno na přiloženém obrázku, vytvořte na listu dvě tlačítka a tlačítko 1 přejmenujte na „Procházet“ a tlačítko 2 přejmenujte na „Odstranit soubory“. Můžete buď sloučit více sloupců, abyste vytvořili větší sloupec tak, aby vyhovoval cestě k souboru, nebo můžete zvětšit šířku jednoho sloupce.Připravte GUI

Udělejme to funkční

Zkopírujte skript do nového modulu v sešitu s povolenými makry. Ujistěte se, že název modulu by měl být Module1. Jinak skript vyvolá chybu. Připojte skript „Scan_This_Folder“ k tlačítku „Procházet“ a k proceduře „Delete_Files“ je třeba připojit tlačítko „Odstranit soubory“.

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

Jak to funguje?

Kód VBAKdyž uživatel vybere složku, skript načte všechny soubory ve vybrané složce a zobrazí název souboru spolu s naposledy upraveným datem. Zkontrolujte seznam, odstraňte řádky, pokud si chcete soubor uchovat, a poté klikněte na tlačítko „Odstranit soubory“. Skript nyní identifikuje poslední použitý řádek a odstraní soubory, které načtou cestu k souboru z listu.

Vylepšete to

Nyní skript vyhledává soubory ve vybrané složce. Pokud jsou ve vybrané složce podsložky, skript ji nemůže skenovat. Můžete vylepšit skript tak, aby prohledal všechny podsložky v kořenové složce, a také vytvořit nový sloupec, který porovná „Datum poslední změny“ souborů s aktuálním datem a zobrazí Dny. Potom můžete upravit skript tak, aby soubory mazal automaticky na základě počtu dní. Ačkoli skript používá techniku ​​skriptování souborů společnosti Microsoft, vlastnosti souboru poškozený xlsx soubory nelze načíst.

Úvod autora:

Nick Vipond je odborníkem na obnovu dat DataNumen, Inc., která je světovým lídrem v oblasti technologií pro obnovu dat, včetně obnovit slovo a softwarové produkty pro obnovení aplikace Outlook. Pro více informací navštivte www.datanumen.com.

Sdílej nyní:

Komentáře jsou uzavřeny.