Ako je možné hromadne odstrániť viac nežiaducich alebo nepoužívaných súborov pomocou programu Excel VBA

Zdieľať teraz:

Na disku môže byť niekoľko nechcených a nepoužívaných súborov. Čistenie týchto súborov môže byť obrovská úloha. S programom Excel môžete ľahko nájsť také nepoužívané súbory a okamžite ich odstrániť, aby ste uvoľnili miesto na disku.

stiahnuť

Ak chcete začať používať softvér čo najskôr, môžete:

Stiahnite si softvér teraz

V opačnom prípade si môžete prečítať obsah uvedený nižšie.

Poďme pripraviť GUI

Odstráňte zo zošita nechcené hárky a premenujte hárok 1 na GUI a zošit uložte ako zošit s povolenými makrami. Ako je znázornené na priloženom obrázku, vytvorte na hárku dve tlačidlá a premenujte Tlačidlo 1 na „Prehľadávať“ a premenujte Tlačidlo 2 na „Odstrániť súbory“. Môžete zlúčiť viac stĺpcov a vytvoriť tak väčší stĺpec, ktorý vyhovie ceste k súboru, alebo môžete zväčšiť šírku jedného stĺpca.Pripravte GUI

Nech je to funkčné

Skopírujte skript do nového modulu v zošite s povoleným makrom. Uistite sa, že názov modulu by mal byť Module1. V opačnom prípade skript spôsobí chybu. Pripojte skript „Scan_This_Folder“ k tlačidlu „Prehľadávať“ a k postupu „Delete_Files“ by mal byť pripojený postup k tlačidlu „Odstrániť súbory“.

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

Ako to funguje?

Kód VBAKeď používateľ vyberie priečinok, skript načíta všetky súbory vo vybratom priečinku a zobrazí názov súboru spolu s dátumom poslednej úpravy. Skontrolujte zoznam, odstráňte riadky, ak si chcete súbor uchovať, a potom kliknite na tlačidlo „Odstrániť súbory“. Skript teraz identifikuje posledný použitý riadok a vymaže súbory čítajúce cestu k súboru z hárka.

Dolaďte to

Od tejto chvíle skript vyhľadáva súbory vo vybranom priečinku. Ak sa vo vybranom priečinku nachádzajú podpriečinky, skript ho nemôže skenovať. Môžete vylepšiť skript tak, aby prehľadal všetky podpriečinky v koreňovom priečinku, a tiež vytvoriť nový stĺpec na porovnanie „Dátumu poslednej zmeny“ súborov s aktuálnym dátumom a zobrazením Dní. Potom môžete skript vylepšiť, aby sa súbory odstránili automaticky na základe počtu dní. Aj keď skript využíva techniku ​​skriptovania súborov od spoločnosti Microsoft, vlastnosti súboru z poškodený xlsx súbory nie je možné načítať.

Úvod autora:

Nick Vipond je expert na obnovu dát v DataNumen, Inc., ktorá je svetovým lídrom v oblasti technológií obnovy dát, vrátane obnoviť slovo a výhľadové softvérové ​​produkty na obnovenie. Pre viac informácií navštívte www.datanumen. S.

Zdieľať teraz:

Komentáre sú uzavreté.