DIR fonksiyonu, dosya veya klasörlerin var olup olmadığını kontrol etmemize
yarar.
DIR fonksiyonu, bir dizin (dosya veya klasör yolu) değişkeni kullanır ve dosya veya klasörün adını döndürür. Eğer yol adı bulunamazsa, DIR fonksiyonu sıfır uzunluklu bir dize ("") döndürür.
Syntax
Dir [( dizin [, özellik ])DOSYA KONTROL
Aşağıdaki komutla önce dosyanın varlığını kontrol ediyoruz. Eğer dosya mevcutsa dosyayı açıyoruzSub dosya_kontrol() Dim dosya_adi As String dosya_adi = VBA.FileSystem.Dir("C:\Test\Dosya_*.xls?") If dosya_adi = VBA.Constants.vbNullString Then MsgBox "Dosya bulunamadı" Else Workbooks.Open "C:\Test\" & dosya_adi End If End Sub
Not: Eğer değişkene uygun birden fazla dosya varsa sadece ilk bulduğu dosyayı açar. Hata vermez.
KLASÖR KONTROL
Aşağıdaki komutla öncelikle klasörün var olup olmadığını kontrol ediyoruz. Eğer klasör mevcut değilse isteğe bağlı olarak klasörü yaratıyoruz.Sub klasor_kontrol() Dim Dizin As String Dim Klasor As String Dim Answer As VbMsgBoxResult Dizin = "C:\excel\test" Klasor = Dir(Dizin, vbDirectory) If Klasor = vbNullString Then Answer = MsgBox("Klasör bulunanadı. Klasör yaratmak ister misiniz", vbYesNo, "Klasör yarat") Select Case Answer Case vbYes VBA.FileSystem.MkDir (Dizin) Case Else Exit Sub End Select Else MsgBox "Klasör bulundu." End If End Sub