Ինչպես խմբաքանակով ջնջել մի քանի անցանկալի կամ չօգտագործված ֆայլեր Excel VBA- ով

Կիսվել հիմա ՝

Ձեր սկավառակի տարածքը ուտող մի քանի անցանկալի և չօգտագործված ֆայլեր կարող են լինել: Այս ֆայլերի մաքրումը կարող է հսկայական խնդիր լինել: Excel- ի միջոցով դուք հեշտությամբ կարող եք գտնել այդպիսի չօգտագործված ֆայլեր և անմիջապես ջնջել դրանք ՝ սկավառակի տարածություն ազատելու համար:

Download Now

Եթե ​​ցանկանում եք սկսել օգտագործել ծրագիրը որքան հնարավոր է շուտ, ապա կարող եք.

Ներբեռնեք ծրագիրը այժմ

Հակառակ դեպքում, եթե ցանկանում եք ինքնուրույն վարվել, կարող եք կարդալ ստորև բերված բովանդակությունը:

Պատրաստենք GUI

Աշխատանքային գրքից հանեք անցանկալի թերթերը և անվանեք 1 թերթը որպես GUI և աշխատանքային գիրքը պահեք որպես մակրոով աշխատող գիրք: Ինչպես ցույց է տրված կցված պատկերում, թերթիկի վրա ստեղծեք երկու կոճակ և վերանվանեք 1 կոճակը որպես «Bննարկ» և վերանվանել կոճակը 2 ՝ «“նջել ֆայլերը»: Կարող եք կամ միաձուլել բազմաթիվ սյունակներ ՝ ավելի մեծ սյուն ստեղծելու համար ՝ ֆայլերի ուղին հարմարեցնելու համար, կամ կարող եք մեծացնել մեկ սյունակի լայնությունը:Պատրաստեք GUI

Եկեք այն դարձնենք ֆունկցիոնալ

Պատճենեք սցենարը ձեր մակրո միացրած աշխատանքային գրքում նոր մոդուլի մեջ: Խնդրում ենք համոզվել, որ մոդուլի անունը պետք է լինի Module1: Հակառակ դեպքում սցենարը սխալ է նետում: «_Ննարկել» կոճակին կցեք «Scan_This_Folder» սցենարը, իսկ «File 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

Ինչպես է դա աշխատում?

VBA կոդԵրբ օգտվողը ընտրում է պանակ, սցենարը կարդում է ընտրված թղթապանակի բոլոր ֆայլերը և ցուցադրում է ֆայլի անունը վերջին փոփոխված ամսաթվի հետ միասին: Ստուգեք ցուցակը, հանեք տողերը, եթե ցանկանում եք պահպանել ֆայլը, ապա կտտացրեք «նջել ֆայլերը» կոճակին: Սցենարն այժմ կբացահայտի վերջին օգտագործված շարքը և կջնջի թերթից ֆայլի ուղին կարդացող ֆայլերը:

Կսմթել այն

Այս պահի դրությամբ, սցենարը ստուգում է ընտրված թղթապանակում գտնվող ֆայլերը: Եթե ​​ընտրված թղթապանակում կան ենթապանակներ, սցենարը չի կարող այն սկանավորել: Կարող եք փոխել սցենարը արմատային թղթապանակի բոլոր ենթապանակները սկանավորելու համար և նաև ստեղծել նոր սյունակ ՝ ֆայլերի «Վերջին փոփոխված ամսաթիվը» ընթացիկ ամսաթվի հետ համեմատելու և Օրեր ցուցադրելու համար: Դրանից հետո դուք կարող եք փոխել սցենարը ՝ ֆայլերը ավտոմատ կերպով ջնջելու համար ՝ հիմնվելով օրերի հաշվարկի վրա: Չնայած սցենարում օգտագործվում է Microsoft- ի ֆայլերի սցենարի տեխնիկան, ֆայլի հատկությունները վնասված xlsx ֆայլերը հնարավոր չէ առբերել:

Հեղինակի ներածություն.

Nick Vipond- ը տվյալների վերականգման փորձագետ է DataNumen, Inc., որը տվյալների վերականգման տեխնոլոգիաների համաշխարհային առաջատարն է, այդ թվում վերականգնել բառը և հեռանկարների վերականգնման ծրագրային արտադրանքները: Լրացուցիչ տեղեկությունների համար այցելեք www.datanumen.com.

Կիսվել հիմա ՝

Comments փակվում են: