Kaip paketiniu būdu ištrinti kelis nepageidaujamus ar nenaudojamus failus naudojant „Excel VBA“.

Bendrinti dabar:

Gali būti, kad jūsų diske yra keli nepageidaujami ir nenaudojami failai. Šių failų valymas gali būti didžiulė užduotis. Naudodami „Excel“ galite lengvai rasti tokius nenaudojamus failus ir iš karto juos ištrinti, kad atlaisvintumėte vietos diske.

Atsisiųsti dabar

Jei norite starJei norite kuo greičiau naudoti programinę įrangą, galite:

Atsisiųskite programinę įrangą dabar

Kitu atveju, jei norite pasidaryk pats, galite perskaityti toliau pateiktą turinį.

Paruoškime GUI

Pašalinkite nepageidaujamus lapus iš darbaknygės ir pervardykite 1 lapą kaip GUI ir išsaugokite darbaknygę kaip darbaknygę, kurioje įjungta makrokomandų. Kaip parodyta pridėtame paveikslėlyje, lape sukurkite du mygtukus ir pervardykite 1 mygtuką į "Naršyti", o 2 mygtuką - "Ištrinti failus". Galite sujungti kelis stulpelius, kad sukurtumėte didesnį stulpelį, kad tilptų failo kelias, arba galite padidinti vieno stulpelio plotį.Paruoškite GUI

Padarykime jį funkcionalų

Nukopijuokite scenarijų į naują makrokomandos įgalintos darbaknygės modulį. Įsitikinkite, kad modulio pavadinimas turi būti Modulė1. Priešingu atveju scenarijus išmes klaidą. Prie mygtuko „Naršyti“ pridėkite scenarijų „Scan_This_Folder“, o prie mygtuko „Ištrinti failus“ reikia pridėti procedūrą „Delete_Files“.

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

Kaip tai veikia?

VBA kodasKai vartotojas pasirenka aplanką, scenarijus nuskaito visus pasirinktame aplanke esančius failus ir rodo failo pavadinimą kartu su paskutinio modifikavimo data. Patikrinkite sąrašą, pašalinkite eilutes, jei norite išsaugoti failą, tada spustelėkite mygtuką „Ištrinti failus“. Dabar scenarijus nustatys paskutinę naudotą eilutę ir ištrins failus, nuskaitančius failo kelią iš lapo.

Pakeiskite

Nuo šiol scenarijus nuskaito failus pasirinktame aplanke. Jei pasirinktame aplanke yra poaplankių, scenarijus negali jo nuskaityti. Galite pakoreguoti scenarijų, kad nuskaitytumėte visus šakninio aplanko poaplankius, taip pat sukurtumėte naują stulpelį, kad palygintumėte failų „Paskutinio modifikavimo datą“ su dabartine data ir parodytumėte dienas. Tada galite pakoreguoti scenarijų, kad automatiškai ištrintumėte failus, atsižvelgiant į dienų skaičių. Nors scenarijus naudoja „Microsoft“ failų scenarijų kūrimo techniką, failo ypatybės sugadintas xlsx failų negalima atkurti.

Autoriaus įvadas:

Nickas Vipondas yra duomenų atkūrimo ekspertas DataNumen, Inc., kuri yra pasaulyje duomenų atkūrimo technologijų lyderė, įskaitant atgauti žodį ir Outlook atkūrimo programinės įrangos produktai. Norėdami gauti daugiau informacijos, apsilankykite WWW.datanumen.com.

Bendrinti dabar:

Komentarai yra uždaryti.