Možda postoji nekoliko neželjenih i neiskorištenih datoteka koje zauzimaju prostor na disku. Čišćenje ovih datoteka može biti ogroman zadatak. S excelom možete jednostavno pronaći takve neiskorištene datoteke i odmah ih izbrisati kako biste oslobodili prostor na disku.
Preuzmite sada
Ako želite start koristiti softver što je prije moguće, tada možete:
Inače, ako želite DIY, možete pročitati sadržaj u nastavku.
Pripremimo GUI
Uklonite neželjene listove iz radne knjige i preimenujte list 1 u GUI i spremite radnu knjigu kao radnu knjigu s omogućenim makronaredbama. Kao što je prikazano na priloženoj slici, stvorite dva gumba na listu i preimenujte gumb 1 u "Pregledaj", a gumb 2 preimenujte u "Brisanje datoteka". Možete ili spojiti više stupaca kako biste stvorili veći stupac za smještaj putanje datoteke ili možete povećati širinu jednog stupca.
Učinimo ga funkcionalnim
Kopirajte skriptu u novi modul u radnoj knjizi s omogućenim makronaredbama. Provjerite je li naziv modula Module1. U suprotnom, skripta će izbaciti pogrešku. Priložite skriptu “Scan_This_Folder” gumbu “Browse” i proceduru “Delete_Files” treba priložiti gumbu “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
Kako radi?

Podesite ga
Od sada, skripta skenira datoteke unutar odabrane mape. Ako unutar odabrane mape postoje podmape, skripta je ne može skenirati. Možete podesiti skriptu da skenira sve podmape unutar korijenske mape i također stvoriti novi stupac za usporedbu "Datuma zadnje izmjene" datoteka s trenutnim datumom i prikaz dana. Zatim možete podesiti skriptu da automatski briše datoteke na temelju broja dana. Iako skripta koristi Microsoftovu tehniku skriptiranja datoteka, svojstva datoteke oštećeno xlsx datoteke se ne mogu dohvatiti.
Uvod za autora:
Nick Vipond je stručnjak za oporavak podataka u DataNumen, Inc., koji je svjetski lider u tehnologijama za oporavak podataka, uključujući obnoviti riječ i softverski proizvodi za oporavak Outlooka. Za više informacija posjetite www.datanumen.com.