Vba kullanılarak dosyalar nasıl silinir (örneklerle)
Belirli bir klasördeki belirli bir Excel dosyasını silmek için VBA’daki Kill deyimini kullanabilirsiniz.
Bu ifadeyi pratikte kullanmanın yaygın bir yolu şudur:
SubDeleteFile ()
On Error Resume Next
Kill "C:\Users\Bob\Desktop\My_Data\soccer_data.xlsx"
On Error GoTo 0
End Sub
Bu özel makro, aşağıdaki klasörde bulunan futbol_data.xlsx adlı Excel dosyasını siler:
C:\Kullanıcılar\Bob\Masaüstü\Verilerim
Hata Durumunda Devam Etme Sonraki satırı, VBA’ya bir hata oluşursa ve dosya bulunamazsa hiçbir hata mesajı görüntülenmemesi gerektiğini söyler.
Daha sonra hata mesajlarını varsayılan ayarlara sıfırlamak için On Error GoTo 0’ı kullanırız.
Dosya bulunamazsa hata mesajı görüntülenmesini istiyorsanız bu iki satırı koddan kaldırmanız yeterlidir.
Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.
Örnek: VBA Kullanarak Bir Dosyayı Silme
Üç Excel dosyası içeren aşağıdaki klasöre sahip olduğumuzu varsayalım:
Futbol_data.xlsx adlı dosyayı silmek için VBA kullanmak istediğimizi varsayalım.
Bunun için aşağıdaki makroyu oluşturabiliriz:
SubDeleteFile ()
On Error Resume Next
Kill "C:\Users\Bob\Desktop\My_Data\soccer_data.xlsx"
On Error GoTo 0
End Sub
Bu makroyu çalıştırıp klasörü tekrar açtığımızda futbol_data.xlsx adlı dosyanın silindiğini göreceğiz:
Diğer tüm dosyalar klasörde olduğu gibi kaldı.
Dosya mevcut değilse hata mesajının görüntülenmesini istiyorsanız aşağıdaki makroyu kullanabilirsiniz:
SubDeleteFile ()
Kill "C:\Users\Bob\Desktop\My_Data\soccer_data.xlsx"
End Sub
Bu makroyu çalıştırdığımızda aşağıdaki hata mesajını alıyoruz:
Soccer_data.xlsx dosyası zaten silindiği ve artık klasörde bulunmadığı için bu hata mesajını alıyoruz.
Not : Kill ifadesinin bir dosyayı kalıcı olarak sildiğini ve onu yalnızca Çöp Kutusu’na göndermediğini unutmayın.
Ek kaynaklar
Aşağıdaki eğitimlerde VBA’da diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:
VBA: Bir çalışma kitabındaki sayfaların sayısı nasıl sayılır?
VBA: Başka bir çalışma kitabından veri nasıl çıkarılır
VBA: Ad belirli bir metin içeriyorsa bir sayfa nasıl silinir