VBA Dosya Varsa Oluşturmama
VBA (Visual Basic for Applications) programlama dillerinde bir dosya oluşturma işlemi için FileSystemObject nesnesinin CreateTextFile metodunu kullanabilirsiniz. Ancak, belirli bir dosya adıyla bir dosya zaten var ise, aynı isimle tekrar dosya oluşturmayı engellemek isteyebilirsiniz. Bu durumda, dosya varlığını önce kontrol etmeli ve dosya mevcutsa, oluşturma işlemini yapmamalısınız.
Aşağıdaki VBA kodu buna örnek oluşturur..
Sub DosyaOluşturmaVarsaOluşturma()
Dim dosyaYolu As String
dosyaYolu = "C:\dosyalar\yeniDosya.txt"
If Not FileExists(dosyaYolu) Then
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CreateTextFile dosyaYolu
MsgBox "Dosya başarıyla oluşturuldu: " & dosyaYolu
Else
MsgBox "Dosya zaten mevcut: " & dosyaYolu
End If
End Sub
Function FileExists(dosyaYolu As String) As Boolean
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
FileExists = fso.FileExists(dosyaYolu)
End Function
Kodun çalışması şu şekilde olacaktır..
- İlk olarak, dosyaYolu değişkeni için bir dosya yolu belirlenir.
- FileExists fonksiyonu ile dosya varlığı kontrol edilir. Eğer dosya yoksa, FileExists fonksiyonu False döndürür ve If bloğu çalışmaya devam eder.
- CreateObject metodu ile FileSystemObject nesnesi oluşturulur.
- fso.CreateTextFile metodu ile dosya yolu verilen bir dosya oluşturulur.
- Dosya başarıyla oluşturuldu ise, kullanıcıya bir mesaj kutusu ile bildirilir.
- Dosya zaten mevcutsa, kullanıcıya bir mesaj kutusu ile bildirilir.