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 ])
Not: Joker karakterler (* ve ?) dizinde kullanılabilir.
DOSYA KONTROL
Aşağıdaki komutla önce dosyanın varlığını kontrol ediyoruz. Eğer dosya mevcutsa dosyayı açıyoruz
Sub 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
Code language: VB.NET (vbnet)
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
Code language: VB.NET (vbnet)