Bir klasörde çalışma kitabının olup olmadığı nasıl kontrol edilir?
Belirli bir klasörde bir çalışma kitabının bulunup bulunmadığını kontrol etmek için DIR işlevini kullanabilirsiniz. DIR, dizini temsil eden bir işlevdir. Dosya yolunu ad ve uzantıyla birlikte belirtmeniz gerekir. Bir dosya varsa dosya adını, aksi halde boş bir değeri döndürür.
Bir klasörde Excel dosyasının olup olmadığını kontrol etmek için kod yazın
Aşağıdaki adımları kullanın:
- Öncelikle fonksiyon sonucunu almak için bir aralık veya mesaj kutusu belirtin.
- Şimdi “DIR” işlev adını girin ve baştaki parantezleri yazın.
- Bundan sonra çift tırnak kullanarak dosya yolunu girin ve dosya adıyla birlikte dosya uzantısını da girdiğinizden emin olun.
- Daha sonra kod satırını kapatmak için kapanış parantezlerini yazın.
Sub vba_Check_workbook() MsgBox Dir("C:UsersDellDesktopbook1.xlsx") End Sub
Bu kod satırını çalıştırdığınızda, dosya adını içeren bir mesaj kutusu görüntülenir; bu, dosyanın belirttiğiniz konumda bulunduğu anlamına gelir.
Yararlı bağlantılar: Makro çalıştırma – Makro kaydedici – Visual Basic Düzenleyici – Kişisel Makrolar El Kitabı
Bir klasörde mevcutsa birden fazla dosyayı bulun
Hepsi bir klasörde mevcutsa birden fazla dosyayı kontrol etmeniz gerekebilir. Bu durumda aşağıdaki kodu kullanabilirsiniz.
Sub vba_check_workbook() Dim myFolder As String Dim myFileName As String Dim myRange As Range Dim myCell As Range Set myRange = Range("A1:A5") myFolder = "C:UsersDellDesktopData" For Each myCell In myRange myFileName = myCell.Value If Dir(myFolder & "" & myFileName) = "" Then myCell.Offset(0, 1) = "File Doesn't Exists." Else myCell.Offset(0, 1) = "File Exists" End If Next myCell End Sub
Bu kodu anlamak için üç parçaya böldüm.
- İLK bölümde kodda kullanmamız gereken tüm değişkenler var. Klasör adresi, dosya adı, tüm adların bulunduğu aralık ve aralıktaki her hücre olarak kullanılacak bir değişken.
- İKİNCİ bölümde kontrol etmek istediğiniz dosyaların tüm adlarının bulunduğu adres aralığını tanımlarsınız. Ayrıca değişkene atanan klasör yolu.
- ÜÇÜNCÜ bölümde, klasördeki tüm dosyalar arasında geçiş yapmak için HER BİRİ İÇİN DÖNGÜ var. Bu döngü, aralıktaki tüm adları eşleştirmek için DIR’i kullanır. Ayrıca, dosyanın mevcut olup olmadığına ilişkin bir açıklama olarak karşılık gelen hücreye bir değer girmek için IF STATEMENT’ı kullanır.
Not: Bu kodu kullanmak istiyorsanız klasör yolunu değiştirmeniz ve tüm çalışma kitabı adlarının bulunduğu aralığı ayarlamanız gerekir.