შეიძლება იყოს რამდენიმე არასასურველი და გამოუყენებელი ფაილი, რომელიც ჭამს თქვენს დისკზე ადგილს. ამ ფაილების გაწმენდა შეიძლება დიდი ამოცანა იყოს. Excel-ით, თქვენ შეგიძლიათ მარტივად იპოვოთ ასეთი გამოუყენებელი ფაილები და წაშალოთ ისინი მყისიერად დისკზე.
ჩამოტვირთეთ არის
თუ გსურთ, რომ პროგრამული უზრუნველყოფის გამოყენება რაც შეიძლება მალე დაიწყოთ, შეგიძლიათ:
წინააღმდეგ შემთხვევაში, თუ გსურთ წვრილმანი, შეგიძლიათ წაიკითხოთ შინაარსი ქვემოთ.
მოდით მოვამზადოთ GUI
წაშალეთ არასასურველი ფურცლები სამუშაო წიგნიდან და დაარქვით Sheet 1 GUI და შეინახეთ სამუშაო წიგნი, როგორც მაკრო ჩართული სამუშაო წიგნი. როგორც ნაჩვენებია მიმაგრებულ სურათზე, შექმენით ორი ღილაკი ფურცელზე და დაარქვით ღილაკ 1-ს „დათვალიერება“ და დაარქვით ღილაკს 2 „ფაილების წაშლა“. თქვენ შეგიძლიათ რამდენიმე სვეტის შერწყმა, რათა შექმნათ უფრო დიდი სვეტი ფაილის ბილიკისთვის, ან შეგიძლიათ გაზარდოთ ერთი სვეტის სიგანე.
მოდით გავხადოთ ის ფუნქციონალური
დააკოპირეთ სკრიპტი ახალ მოდულში თქვენს მაკრო ჩართულ სამუშაო წიგნში. დარწმუნდით, რომ მოდულის სახელი უნდა იყოს Module1. წინააღმდეგ შემთხვევაში, სკრიპტი შეცდომას გაუშვებს. მიამაგრეთ სკრიპტი "Scan_This_Folder" ღილაკზე "Browse" და პროცედურა "Delete_Files" უნდა დაერთოს ღილაკს "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
როგორ მუშაობს?

შეასწორეთ იგი
ამ დროისთვის, სკრიპტი სკანირებს ფაილებს არჩეულ საქაღალდეში. თუ არჩეულ საქაღალდეში არის ქვესაქაღალდეები, სკრიპტი ვერ შეძლებს მის სკანირებას. თქვენ შეგიძლიათ შეცვალოთ სკრიპტი, რათა დაასკანიროთ ყველა ქვესაქაღალდე root საქაღალდეში და ასევე შექმნათ ახალი სვეტი ფაილების „ბოლო ცვლილების თარიღის“ შესადარებლად მიმდინარე თარიღთან და აჩვენოთ დღეები. შემდეგ შეგიძლიათ შეცვალოთ სკრიპტი, რომ ავტომატურად წაშალოთ ფაილები დღეების რაოდენობის მიხედვით. მიუხედავად იმისა, რომ სკრიპტი იყენებს Microsoft-ის ფაილების სკრიპტირების ტექნიკას, ფაილის თვისებებს დაზიანებული xlsx ფაილების მოძიება შეუძლებელია.
ავტორი შესავალი:
ნიკ ვიპონდი არის მონაცემთა აღდგენის ექსპერტი DataNumen, Inc., რომელიც მსოფლიო ლიდერია მონაცემთა აღდგენის ტექნოლოგიებში, მათ შორის სიტყვის აღდგენა და Outlook-ის აღდგენის პროგრამული პროდუქტები. დამატებითი ინფორმაციისთვის ეწვიეთ www.datanumen. ერთად.