Excel'de vba kullanarak bir dosyayı nasıl silebilirim?

Bir Excel dosyasını bir klasörden silmek için iki farklı yöntem kullanabilirsiniz. İlk yöntem, silmek istediğiniz dosyaya referans vermek için dosya yolunu alan “Kill” ifadesidir. İkinci yöntem, bir dosyayı silmek için ilişkili bir yönteme sahip olan FileSystemObject nesnesidir.

Bu kodları kullanmak için geliştirici sekmesinden VBE’ye (Kod Düzenleyici) gidin.

VBA kullanarak bir dosyayı silin (Kill işlevi)

Öldürme özelliği, tek bir dosyayı veya birden çok dosyayı silmenize ve birden çok dosyayı silmek için joker karakterler kullanmanıza yardımcı olur. Aşağıda dosyayı masaüstündeki klasörden silen tek satırlık kod verilmiştir.

 Kill "C:UsersDellDesktopSample Datafile-one.xlsx"
vba kill işlevini kullanarak bir dosyayı silin

Silmeyi belirttiğiniz çalışma kitabı mevcut değilse bu kod size bir hata gösterecektir.

Yararlı bağlantılar: Makro çalıştırmaMakro kaydediciVisual Basic DüzenleyiciKişisel Makrolar El Kitabı

VBA kullanarak bir klasördeki tüm dosyaları silin

Ve bir klasördeki tüm dosyaları silmek istiyorsanız joker karakter kullanabilirsiniz.

 Kill "C:UsersDellDesktopSample Data*.xl*"
vba kullanarak bir klasördeki tüm dosyaları silin

FileSystemObject (Object) kullanarak bir dosyayı silin

Dosya sistemi nesnesi bilgisayarın dosya sistemine erişmenizi sağlar. Buradan daha fazlasını öğrenebilirsiniz ama şimdi bir dosyayı silmek için kod yazalım.

  • Öncelikle kodda kullanılacak değişkenleri Binder ve FileSystemObject olarak bildirmeniz gerekiyor.
    delete a file using the file system object
  • Bundan sonra, FileSystemObject’i FSO değişkenine atayarak döndürmek için create object işlevini kullanın.
    create object function
  • Daha sonra silmek istediğiniz dosyaya gitmek için yolu “myFile” değişkenine atayın.
    assign the path to the myfile
  • Sonunda dosyayı silmek için “DeleteFile” yöntemini kullanın (buna bakın).
    use the delete file method

Tam kod

 Sub vba_delete_file() Dim FSO Dim myFile As String Set FSO = CreateObject("Scripting.FileSystemObject") myFile = "C:UsersDellDesktopSample Datafile1.xlsx" FSO.DeleteFile myFile, True End Sub

Diyelim ki bir dosyayı (var olup olmadığını) kontrol edebilecek ve ardından silebilecek bir kod yazmanız gerekiyor. İşte ihtiyacınız olan kod.

 Sub vba_delete_file() Dim FSO Dim myFile As String Set FSO = CreateObject("Scripting.FileSystemObject") myFile = "C:UsersDellDesktopSample Datafile1.xlsx" If FSO.FileExists(myFile) Then FSO.DeleteFile myFile, True MsgBox "Deleted" Else MsgBox "There's no workbook with this name." End If End Sub

Yorum ekle

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir