DirectoryExists Fonksiyonu

Tanım


Programın çalıştığı bilgisayardaki bir dizinin (directory) var olup olmadığını mantıksal bir değer ile geri dönen fonksiyondur. Fonksiyon, network üzerinde başka bir bilgisayardaki dizinleri; eğer ilgili dizin bir disk adına atanmış (map network drive) ise disk adı araştırabilir.


Kullanım Şekli


Değişken = Document.DirectoryExists( DizinAdı)

Ana Nesne


Document (Doc) nesnesinin elemanıdır. Bir doküman nesnesi ile kullanılmak zorundadır.

Parametreler


Parametre

Açıklama

DizinAdı

Varlığı araştırılacak dizin adı. Bir disk adı ile beraber uzun yazılmalıdır (“c:\zzz” gibi). Eğer disk adı kullanılmazsa (“\zzz” gibi), fonksiyon işlevini göremez.


Geri Dönen Değerler


Sorgulanan dizin var ise True (-1) değerini, yok ise de False (0) değerini geri döner. Bir değişkene atanarak kullanılmalıdır.

Hatırlatmalar


DizinAdında “/” ve “\” karakterleri aynı işlevi görür. “c:/zzz” ile “c:\zzz” aynı işleve sahiptir.

DizinAdının sonunda “/ veya \” karakterlerinin olup olmaması fonksiyon için önemli değildir. “c:\zzz” ile “c:\zzz\” aynı işleve sahiptir.

Eğer ki “\\172.16.0.84\d7s” adresini bir disk adına (örneğin “K”) atamış olsaydık, bu durumda fonksiyon bu dizini, “k:\” disk adı ile kullanılırsa gösterecekti. Direkt IP adresli (bilgisayar adı ile de olabilir) dizin adı (“\\172.16.0.84\d7s\”) kullanımında, fonksiyon araştırma yapamayıp false değeri  geri dönecektir. Diğer alt dizinlerde ise “k:\wx” veya “\\172.16.0.84\d7s\wx” her iki dizin adı da, aynı işleve sahip olacaktır.


Örnek


Sub Makro1()

       Mesaj = """c:\zzz"" dizini var mı ? " & Doc.DirectoryExists("c:\zzz")

       Mesaj = Mesaj & chr(13) & """c:/zzz/"" dizini var mı ? " & Doc.DirectoryExists("c:/zzz/")

       Mesaj = Mesaj & chr(13) & """c:\test"" dizini var mı ? " & Doc.DirectoryExists("c:\test")

       Mesaj = Mesaj & chr(13) & """\\172.16.0.84\d7s"" dizini var mı ? " & Doc.DirectoryExists("\\172.16.0.84\d7s")

       Mesaj = Mesaj & chr(13) & """\\172.16.0.84\d7s\wx"" dizini var mı ? " & Doc.DirectoryExists("\\172.16.0.84\d7s\wx")

       Mesaj = Mesaj & chr(13) & """k:\wx"" dizini var mı ? " & Doc.DirectoryExists("k:\wx")

       Doc.MsgBox Mesaj

End Sub




Yukarıdaki örnekte, varlığı araştırılan dizinlerin, var olup olmadıklarına dair geri dönüş bilgileri, aşağıdaki mesaj kutusunda gösterilmiştir. Üçüncü satırdaki dizin, bilgisayarda olmadığından False değeri geri dönmüştür. Dördüncü satırdaki dizin, bilgisayarda “K” diski adına atandığından (map network drive) False değeri dönülmüştür. Beşinci ve altıncı satırlar aslında aynı dizinlerdir.




Paylaşım Makrosu