Több nem kívánt vagy nem használt fájl kötegelt törlése az Excel VBA segítségével

Oszd meg most:

Előfordulhat, hogy több nem kívánt és nem használt fájl felemészti a lemezterületet. A fájlok tisztítása hatalmas feladat lehet. Az Excel segítségével könnyedén megtalálhatja az ilyen nem használt fájlokat, és azonnal törölheti őket, hogy lemezterületet szabadítson fel.

Töltse le most

Ha azt szeretné, hogy start hogy a lehető leghamarabb használja a szoftvert, akkor:

Töltse le a szoftvert most

Ellenkező esetben, ha barkácsolni szeretne, az alábbiakban olvashatja a tartalmat.

Készítsük el a GUI-t

Távolítsa el a nem kívánt lapokat a munkafüzetből, és nevezze át az 1. munkalapot grafikus felhasználói felületre, és mentse el a munkafüzetet makróképes munkafüzetként. A mellékelt képen látható módon hozzon létre két gombot a lapon, és nevezze át az 1-es gombot „Tallózás”-ra, a 2-es gombot pedig „Fájlok törlése”-re. Egyesíthet több oszlopot, hogy nagyobb oszlopot hozzon létre a fájl elérési útjához, vagy növelheti egyetlen oszlop szélességét.Készítse elő a GUI-t

Tegyük működőképessé

Másolja a szkriptet egy új modulba a makróképes munkafüzetben. Ügyeljen arra, hogy a modul neve Modul1 legyen. Ellenkező esetben a szkript hibát fog kiadni. Csatolja a „Scan_This_Folder” szkriptet a „Tallózás” gombra, a „Delete_Files” eljárást pedig a „Fájlok törlése” gombra.

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

Hogyan működik?

VBA kódAmikor a felhasználó kiválaszt egy mappát, a szkript beolvassa a kiválasztott mappában lévő összes fájlt, és megjeleníti a fájl nevét az utolsó módosítás dátumával együtt. Ellenőrizze a listát, távolítsa el a sorokat, ha meg szeretné tartani a fájlt, majd kattintson a „Fájlok törlése” gombra. A szkript most azonosítja az utoljára használt sort, és törli a fájl elérési útját beolvasó fájlokat a lapról.

Csípje meg

Jelenleg a szkript keresi a fájlokat a kiválasztott mappában. Ha vannak almappák a kiválasztott mappában, a szkript nem tudja megvizsgálni azt. A szkript módosításával átvizsgálhatja a gyökérmappán belüli összes almappát, és létrehozhat egy új oszlopot a fájlok „Utolsó módosítási dátuma” és az aktuális dátum összehasonlításához, és megjelenítheti a Napokat. Ezután módosíthatja a szkriptet, hogy automatikusan törölje a fájlokat a napok száma alapján. Bár a szkript a Microsoft fájlszkriptezési technikáját használja, a fájl tulajdonságait sérült xlsx fájlok nem tölthetők le.

Szerző Bevezetés:

Nick Vipond adat-helyreállítási szakértő DataNumen, Inc., amely világelső az adat-helyreállítási technológiák területén, beleértve szó visszaszerzése és az Outlook helyreállítási szoftvertermékei. További információért látogasson el www.datanumen.com.

Oszd meg most:

Hozzászólások lezárva.