EXCEL VBA'DA FILEEXİTS FONKSİYONU

 


Belirli bir dosyanın her yerde bulunup bulunmadığını bulmak için VBA FileExists işlevini kullanırız. Dosya varsa, True döndürür; aksi takdirde False döndürür. VBA'da dosya işlemleriyle çalışırken, bu işlev özellikle yararlıdır çünkü geliştiricilerin bir dosyanın mevcut olup olmadığına bağlı olarak farklı eylemler gerçekleştirmesini sağlar. Bir örneğe bakalım.


VBA FileExists İşlevi 1

Bu örnekte, “C:\Users\Vikram\Desktop\VBA FileExists.docx” konumunda bulunan “VBA FileExists.docx” adlı bir Word belgesini kontrol ediyoruz. VBA FileExists işlevi belirtilen dosya yoluyla çağrılır ve dönüş değerine göre “File exists!(dosya var) ” veya “File does not exist!(dosya mevcut değil)” “ Debug.Print ” kullanılarak Anlık pencereye yazdırılır.

VBA FileExists İşlevi 1-1

ÖNEMLİ NOKTALAR

  1. VBA FileExists fonksiyonu belirtilen bir dosyanın varlığını kontrol eder.
  2. Joker karakterler için “Dir” fonksiyonunu, daha gelişmiş dosya işlemleri için ise FileSystemObject fonksiyonunu kullanın.
  3. VBA FileExists'i çağırdığınızda, bir Boole değeri döndürür (dosya varsa True, yoksa False), bu da dosyanın varlığına bağlı olarak kodunuzda basit koşullu mantığın kullanılmasını sağlar.
  4. VBA FileExists'in InputBox gibi kullanıcı girdi mekanizmalarıyla birleştirilmesi, etkileşimli VBA uygulamalarını teşvik ederek kullanıcıların belirli dosyaların varlığını doğrulamalarına ve sonuca göre uygun eylemleri gerçekleştirmelerine olanak tanır.

Sözdizimi

VBA FileExists fonksiyonunun sözdizimi basittir.

FileExists(PathName As String) As Boolean 

  • PathName : Kontrol etmek istediğiniz dosyanın yolunu ve adını belirtir.

VBA FileExists Fonksiyonu Nasıl Kullanılır?

VBA'da FileExists fonksiyonunu kullanmak birkaç basit adımdan oluşur.

Adım 1: Excel'i açın ve VBA düzenleyicisini açmak için ALT + F11 tuşlarına basın .

VBA FileExists fonksiyonu nasıl kullanılır 1

Adım 2 : Menüde “Ekle”ye tıklayıp “Modül”ü seçerek yeni bir modül ekleyin.

VBA FileExists fonksiyonu nasıl kullanılır 1-1

Adım 3: Dosya yolunu ve FileExists fonksiyonunun sonucunu tutacak değişkenleri bildirerek başlayın.

Örneğin:

Dim filePath'i As String

Dim fileExistsResult'u As Boolean 

Adım 4: Varlığını kontrol etmek istediğiniz dosyanın konumunu belirterek dosya yolunu filePath değişkenine atayın.

Örneğin:

filePath = “C:\Example\File.txt”

Adım 5: Dosya yolunu bir argüman olarak geçirerek FileExists fonksiyonunu çağırın. Bu fonksiyon, dosyanın var olup olmadığını belirten bir Boolean değeri döndürecektir.

Örneğin:

fileExistsResult = FileExists(filePath)

Adım 6: Sonuç elde edildikten sonra, dosyanın var olup olmamasına göre ilerleyebilirsiniz. Genellikle bu, If…Else gibi koşullu ifadelerin kullanılmasını içerir .

Örneğin:

If fileExistsResult Then

    ‘ File exists, perform desired actions

    MsgBox “File exists!”

Else

    ‘ File does not exist, handle accordingly

    MsgBox “File does not exist!”

End If

Adım 7: Makroyu F5 tuşuna basarak veya menüden Çalıştır'ı tıklayarak çalıştırın .

Örnekler

VBA FileExists fonksiyonunun etkili bir şekilde nasıl kullanılacağını anlamak için birkaç örneği inceleyelim.

Örnek 1

Bu örnekte, belirtilen yolda bir dosyanın bulunup bulunmadığını belirten bir ileti kutusu görüntülemek için özel olarak tanımlanmış bir VBA FileExists işlevini nasıl kullanacağımızı göreceğiz .

Adım 1: İlk olarak, girdi olarak bir dosya yolu kabul eden ve dosya varsa True, yoksa False döndüren FileExists adında bir fonksiyon tanımlayın.

VBA FileExists Örnek 1

Adım 2: Daha sonra belirtilen yolda bir dosyanın olup olmadığını kontrol etmek için Dir(filePath) fonksiyonunu kullanırız.

VBA FileExists Örnek 1-1

Adım 3: Fonksiyon oluşturulduktan sonra, yeni bir alt rutin tanımlayacağız ve ardından FileExists fonksiyonunun sonucunu depolamak için VBA'da FileExistsResult adında bir Boole değişkeni tanımlayacağız.

VBA FileExists Örneği 1-2

Adım 4: Bu satırda belirtilen dosya yolu ile FileExists fonksiyonunu çağırıyoruz.

Fonksiyon, dosyanın belirtilen konumda bulunup bulunmadığını kontrol eder ve True veya False değerini döndürür; bu değer daha sonra FileExistsResult değişkeninde saklanır.

VBA FileExists Örnek 1-3

Adım 5: Sonra, FileExistsResult değerini kontrol ediyoruz. True ise, yani dosya mevcutsa, bu satır “Dosya mevcut!” metninin bulunduğu bir mesaj kutusu görüntüler.

VBA FileExists Örnek 1-4

Adım 6: FileExistsResult değeri False ise, yani dosya mevcut değilse, bu satırda “Dosya mevcut değil!” metninin bulunduğu bir mesaj kutusu görüntülenir.

VBA FileExists Örnek 1-5

Adım 7: VBA makrosunu kaydedin . Bu kodu çalıştırdığınızda, “C:\Users\Vikram\Desktop\VBA FileExists.docx” dosyasının var olup olmadığını kontrol eder. Eğer varsa, “Dosya var!” mesajını veren bir ileti kutusu görüntüler. Eğer yoksa, “Dosya yok!” mesajını veren bir ileti kutusu görüntüler.

VBA FileExists Örnek 1-6

İşte tam kod:

Function FileExists(filePath As String) As Boolean

    FileExists = Dir(filePath) <> “”

End Function

Sub Example1()

    Dim fileExistsResult As Boolean

    fileExistsResult = FileExists(“C:\Users\Vikram\Desktop\VBA FileExists.docx”)

    If fileExistsResult Then

        MsgBox “File exists!”

    Else

        MsgBox “File does not exist!”

    End If

End Sub

Örnek 2 – IF Koşullu DIR

Bu örnekte, belirtilen yoldaki bir dosyayı getirmek, dosyanın var olup olmadığını kontrol etmek ve bu bilgiyle bir ileti kutusu görüntülemek için yerleşik Dir fonksiyonunun nasıl kullanılacağını göreceğiz.

Adım 1: İlk olarak “Example2” adında yeni bir alt rutin tanımlıyoruz.

VBA FileExists Örneği 2

Adım 2: Bu satır, dosya yolunu depolamak için String türünde filePath adlı bir değişken tanımlar.

VBA FileExists Örneği 2-1

Adım 3: Bu adımda, belirtilen yolda bir dosyanın var olup olmadığını kontrol etmek için “ Dir” fonksiyonunu kullanırız . Dir boş olmayan bir dize döndürürse, dosyanın var olduğu anlamına gelir.

VBA FileExists Örneği 2-2

Adım 4: Şimdi sonucu görüntülemek için mesaj kutusu fonksiyonunu kullanacağız.

  • MsgBox “Dosya var!” : Eğer dosya varsa, bu satır “Dosya var!” metninin yer aldığı bir mesaj kutusu görüntüler.
  • MsgBox “Dosya Yok!” : Eğer dosya yoksa, bu satırda “Dosya Yok!” yazılı bir mesaj kutusu görüntülenir.
VBA FileExists Örnek 2-3.jpg

Adım 5: Bu kodu çalıştırdığınızda, filePath değişkeni tarafından belirtilen dosyanın var olup olmadığını kontrol eder. Var ise, "Dosya var!" mesajını veren bir ileti kutusu görüntüler. Yok ise, "Dosya yok!" mesajını veren bir ileti kutusu görüntüler.

VBA FileExists Örneği 2-4

İşte tam kod:

Sub Example2()

    Dim filePath As String

    filePath = “C:\Example\File.txt”

    If Dir(filePath) <> “” Then

        MsgBox “File exists!”

    Else

        MsgBox “File does not exist!”

    End If

End Sub

Örnek 3

Bu örnekte, kullanıcıdan dosya konumunu istiyoruz ve ardından ileti kutusunda sonucu görüntülemeden önce verilen dosyanın var olup olmadığını belirlemek için VBA'daki Dir fonksiyonunu kullanıyoruz.

Adım 1: Yeni altyordamı oluşturduktan sonra “inputFile” ve “fileExistsResult” adlı iki değişken tanımlanır.

“inputFile” kullanıcı girdisi dosya yolunu depolayacakken, “fileExistsResult” Dir fonksiyonunun sonucunu depolayacaktır.

VBA FileExists Örneği 3

Adım 2: Bu adımda, kullanıcıdan varlığını kontrol etmek istediği dosyanın yolunu girmesini isteyen bir giriş kutusu görünmesini sağlıyoruz. Girilen dosya yolu inputFile değişkeninde saklanır.

VBA FileExists Örneği 3-1

Adım 3: Önceki örnekte olduğu gibi Dir fonksiyonu inputFile ile belirtilen dosyanın var olup olmadığını kontrol etmek için kullanılır.

Sonuç, varsa dosya adı, yoksa boş bir dize olan fileExistsResult değişkeninde saklanır.

VBA FileExists Örneği 3-2

Adım 4: fileExistsResult değerine göre dosya varlığı kontrolünün sonucunu görüntülemek için mesaj kutusu fonksiyonunu kullanırız.

  • fileExistsResult boş değilse, dosyanın var olduğunu gösterir ve “Bu Dosya Var” mesajı gösterilir.
  • Aksi takdirde, fileExistsResult boşsa, bu dosyanın mevcut olmadığını gösterir ve “Bu Dosya Mevcut Değil” mesajı gösterilir.
VBA FileExists Örneği 3-3

Adım 5: Bu kodu çalıştırdığınızda, VBA'daki bir giriş kutusu sizden varlığını kontrol etmek istediğiniz dosyanın yolunu girmenizi isteyecektir.

VBA FileExists Örneği 3-4

Dosya yolunu girdikten sonra, kod dosyanın var olup olmadığını belirlemek için Dir işlevini kullanacaktır. Daha sonra, Dir işlevinin sonucuna göre dosyanın var olup olmadığını belirten bir mesaj kutusu görüntüleyecektir.

VBA FileExists Örneği 3-5

İşte tam kod:

Sub CheckFileExists()

    ‘ Declare variables

    Dim inputFile As String

    Dim fileExistsResult As String

    inputFile = InputBox(“Check if this file exists:”)

    fileExistsResult = Dir(inputFile)

    If fileExistsResult <> “” Then

        MsgBox “This File Exists”

    Else

        MsgBox “This File Does Not Exist”

    End If

End Sub

Dikkat Edilmesi Gereken Önemli Noktalar

  • Varlığını kontrol ettiğiniz dosyanın uygun erişim izinlerinin ayarlandığından emin olun. Dosya izin kısıtlamaları nedeniyle erişilemezse, VBA FileExists işlevi varlığını doğru bir şekilde belirleyemeyebilir.
  • VBA FileExists kullanılarak kontrol edilebilen dosya yolunun uzunluğu konusunda herhangi bir kısıtlama yoktur.
  • VBA FileExists işlevine sağlanan dosya yolunun doğru ve düzgün biçimlendirilmiş olduğundan emin olun. Dosya yolundaki herhangi bir hata veya yanlışlık, dosya varlığı denetiminde yanlış sonuçlara yol açabilir.
  • VBA FileExists fonksiyonu büyük/küçük harfe duyarlı değildir.
  • VBA FileExists işlevi, VBA fileexists joker karakter aramaları dahil olmak üzere dosya yolu eşleştirmesi için joker karakter desenlerini barındırmaz.

Yorum Gönder

DT KARİYER KPSS Dünyasına Hoş Geldiniz
Sevgili dostum nasıl yardımcı olabilirim?
Bu alana yazınız...