Cara Batch Menghapus Beberapa File Yang Tidak Diinginkan atau Tidak Digunakan dengan Excel VBA

Bagikan sekarang:

Mungkin ada beberapa file yang tidak diinginkan dan tidak terpakai yang memakan ruang disk Anda. Membersihkan file-file ini mungkin merupakan tugas yang berat. Dengan excel, Anda dapat dengan mudah menemukan file yang tidak digunakan dan menghapusnya secara instan untuk mengosongkan ruang disk.

Unduh Sekarang

Jika Anda ingin mulai menggunakan perangkat lunak sesegera mungkin, Anda dapat melakukan hal berikut:

Unduh Perangkat Lunak Sekarang

Kalau tidak, kalau mau DIY bisa baca isinya di bawah ini.

Mari Siapkan GUI

Hapus lembar yang tidak diinginkan dari buku kerja dan ganti nama Lembar 1 sebagai GUI dan simpan buku kerja sebagai buku kerja berkemampuan makro. Seperti yang ditunjukkan pada gambar terlampir, buat dua tombol pada lembar dan ganti nama Tombol 1 sebagai "Jelajahi" dan ganti nama Tombol 2 sebagai "Hapus File". Anda dapat menggabungkan beberapa kolom untuk membuat kolom yang lebih besar untuk mengakomodasi jalur file atau Anda dapat menambah lebar satu kolom.Siapkan GUI

Mari kita membuatnya berfungsi

Salin skrip ke modul baru di buku kerja berkemampuan makro Anda. Harap pastikan bahwa nama modul harus Module1. Jika tidak, skrip akan membuat kesalahan. Lampirkan script "Scan_This_Folder" ke tombol "Browse" dan prosedur "Delete_Files" harus dilampirkan ke tombol "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

Bagaimana cara kerjanya?

Kode VBASaat pengguna memilih folder, skrip membaca semua file dalam folder yang dipilih dan menampilkan nama file bersama dengan tanggal terakhir diubah. Verifikasi daftar, hapus baris jika Anda ingin menyimpan file dan kemudian klik tombol "Hapus File". Skrip sekarang akan mengidentifikasi baris yang terakhir digunakan dan menghapus file yang membaca jalur file dari sheet.

Sesuaikan itu

Saat ini, skrip memindai file di dalam folder yang dipilih. Jika ada subfolder di dalam folder yang dipilih, skrip tidak dapat memindainya. Anda dapat mengubah skrip untuk memindai semua subfolder di dalam folder root dan juga membuat kolom baru untuk membandingkan "Tanggal Terakhir Dimodifikasi" dari file dengan tanggal sekarang dan menampilkan Hari. Anda kemudian dapat mengubah skrip untuk menghapus file secara otomatis berdasarkan hitungan hari. Meskipun skrip menggunakan teknik skrip file Microsoft, properti file dari xlsx rusak file tidak dapat diambil.

Pengantar Penulis:

Nick Vipond adalah pakar pemulihan data di DataNumen, Inc., yang merupakan pemimpin dunia dalam teknologi pemulihan data, termasuk memulihkan kata dan produk perangkat lunak pemulihan prospek. Untuk informasi lebih lanjut kunjungi www.datanumen.com.

Bagikan sekarang:

Komentar ditutup.