Birden Çok İstenmeyen veya Kullanılmayan Dosyayı Excel VBA ile Toplu Silme

Şimdi paylaş:

Disk alanınızı tüketen birkaç istenmeyen ve kullanılmayan dosya olabilir. Bu dosyaları temizlemek çok büyük bir görev olabilir. Excel ile bu tür kullanılmayan dosyaları kolayca bulabilir ve disk alanı boşaltmak için anında silebilirsiniz.

Hemen İndir

Yazılımı mümkün olan en kısa sürede kullanmaya başlamak istiyorsanız, şunları yapabilirsiniz:

Yazılımı Şimdi İndirin

Aksi takdirde, DIY yapmak istiyorsanız aşağıdaki içeriği okuyabilirsiniz.

GUI'yi Hazırlayalım

İstenmeyen sayfaları çalışma kitabından kaldırın ve Sayfa 1'i GUI olarak yeniden adlandırın ve çalışma kitabını makro özellikli çalışma kitabı olarak kaydedin. Ekteki resimde gösterildiği gibi, sayfada iki düğme oluşturun ve Düğme 1'i "Gözat" olarak yeniden adlandırın ve Düğme 2'yi "Dosyaları Sil" olarak yeniden adlandırın. Dosya yolunu barındırmak için daha büyük bir sütun oluşturmak için birden çok sütunu birleştirebilir veya tek bir sütunun genişliğini artırabilirsiniz.GUI'yi hazırlayın

işlevsel hale getirelim

Komut dosyasını, makro etkinleştirilmiş çalışma kitabınızdaki yeni bir modüle kopyalayın. Lütfen modül adının Module1 olduğundan emin olun. Aksi takdirde, komut dosyası bir hata atar. “Bu Klasörü Tara” komut dosyasını “Gözat” düğmesine ekleyin ve “Dosyaları Sil” prosedürü “Dosyaları Sil” düğmesine eklenmelidir.

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

Nasıl Çalışır?

VBA KoduKullanıcı bir klasör seçtiğinde, komut dosyası seçilen klasördeki tüm dosyaları okur ve son değiştirilme tarihiyle birlikte dosya adını görüntüler. Listeyi doğrulayın, dosyayı korumak istiyorsanız satırları kaldırın ve ardından "Dosyaları Sil" düğmesini tıklayın. Komut dosyası şimdi son kullanılan satırı tanımlayacak ve dosya yolunu okuyan dosyaları sayfadan silecektir.

Çimdikle onu

Şu andan itibaren, komut dosyası seçilen klasördeki dosyaları tarar. Seçilen klasör içinde alt klasörler varsa komut dosyası onu tarayamaz. Kök klasördeki tüm alt klasörleri taramak için komut dosyasında ince ayar yapabilir ve ayrıca dosyaların "Son Değiştirme Tarihini" geçerli tarihle karşılaştırmak ve Günleri görüntülemek için yeni bir sütun oluşturabilirsiniz. Ardından, gün sayısına göre dosyaları otomatik olarak silmek için komut dosyasında ince ayar yapabilirsiniz. Komut dosyası, Microsoft'un dosya komut dosyası oluşturma tekniğini kullanmasına rağmen, dosya özellikleri hasarlı xlsx dosyalar geri alınamaz.

Yazar Tanıtımı:

Nick Vipond bir veri kurtarma uzmanıdır. DataNumendahil olmak üzere veri kurtarma teknolojilerinde dünya lideri olan , Inc. kelimeyi kurtarmak ve görünüm kurtarma yazılımı ürünleri. Daha fazla bilgi için ziyaret edin www.datanumen.com.

Şimdi paylaş:

Yoruma kapalı.