Not: Microsoft Jet İfade Hizmeti korumalı alan modunda çalışıyorsa, bu konuda açıklanan işlev, yöntem, nesne veya özellik devre dışı bırakılır ve bu da güvenli olabilecek ifadelerin değerlendirilmesini engeller. Korumalı alan modu hakkında daha fazla bilgi için Yardım'da "korumalı alan modu" araması yapın.
Belirtilen desen veya dosya özniteliğiyle eşleşen bir dosya, dizin veya klasörün adını ya da bir sürücünün birim etiketini temsil eden bir Dize döndürür.
Söz dizimi
Dir[(yol adı [, öznitelikler] )]
Dir işlevinin söz diziminde şu bağımsız değişkenler bulunur:
Bağımsız değişken |
Açıklama |
Yoladı |
İsteğe bağlı. Bir dosya adı belirten dize ifadesi ; dizin veya klasör ve sürücü içerebilir. Yol adı bulunamazsa sıfır uzunluklu dize ("") döndürülür. |
Öznitelik |
İsteğe bağlı. Sabit veya sayısal ifade, toplamı dosya özniteliklerini belirtir. Atlanırsa, pathname ile eşleşen ancak özniteliği olmayan dosyaları döndürür. |
Ayarlar
Öznitelikler bağımsız değişken ayarları şunlardır:
Sabit |
Değer |
Açıklama |
vbNormal |
0 |
(Varsayılan) Öznitelik içermeyen dosyaları belirtir. |
vbReadOnly |
1 |
Özniteliği olmayan dosyalara ek olarak salt okunur dosyaları belirtir. |
vbHidden |
2 |
Öznitelikleri olmayan dosyalara ek olarak gizli dosyaları belirtir. |
VbSystem |
4 |
Özniteliksiz dosyalara ek olarak sistem dosyalarını belirtir. Macintosh'ta kullanılamaz. |
Vbvolume |
8 |
Birim etiketini belirtir; başka bir öznitelik belirtilirse , vbVolume yoksayılır. Macintosh'ta kullanılamaz. |
vbDirectory |
16 |
Öznitelikleri olmayan dosyalara ek olarak dizinleri veya klasörleri belirtir. |
vbAlias |
64 |
Belirtilen dosya adı bir diğer addır. Yalnızca Macintosh'ta kullanılabilir. |
Not: Bu sabitler Visual Basic for Applications (VBA) tarafından belirtilir ve kodunuzda gerçek değerler yerine herhangi bir yerde kullanılabilir.
Açıklamalar
Microsoft Windows'ta Dir , birden çok dosya belirtmek için birden çok karakter (*) ve tek karakter (?) joker karakter kullanımını destekler. Macintosh'ta bu karakterler geçerli dosya adı karakterleri olarak kabul edilir ve birden çok dosya belirtmek için joker karakter olarak kullanılamaz.
Macintosh joker karakterleri desteklemediğinden, dosya gruplarını tanımlamak için dosya türünü kullanın. Dosya adlarını kullanmak yerine dosya türünü belirtmek için MacID işlevini kullanabilirsiniz. Örneğin, aşağıdaki deyim geçerli klasördeki ilk METNEÇEVİr dosyasının adını döndürür:
Dir("SomePath", MacID("TEXT"))
Klasördeki tüm dosyaları yinelemek için boş bir dize belirtin:
Dir("")
Windows'da Dir ile MacID işlevini kullanırsanız bir hata oluşur.
256'dan büyük öznitelik değerleriMacID değeri olarak kabul edilir.
Dir işlevini ilk kez çağırdığınızda pathname belirtmeniz gerekir, aksi durumda bir hata oluşur. Dosya özniteliklerini de belirtirseniz pathname eklenmelidir.
Dir , pathname ile eşleşen ilk dosya adını döndürür. Yol adıyla eşleşen ek dosya adlarını almak için, bağımsız değişken olmadan Dir'i yeniden çağırın. Başka dosya adı eşleşmediğinde Dir sıfır uzunluklu bir dize ("") döndürür. Sıfır uzunluklu bir dize döndürüldükten sonra, sonraki çağrılarda yol adını belirtmeniz gerekir veya bir hata oluşur. Geçerli yol adıyla eşleşen tüm dosya adlarını almadan yeni bir yol adına değiştirebilirsiniz. Ancak Dir işlevini yinelemeli olarak çağıramazsınız. Dir'i vbDirectoryözniteliğiyle çağırmak sürekli alt dizinleri döndürmez.
İpucu Dosya adları belirli bir sırada alınmadığından, döndürülen dosya adlarını bir dizi içinde depolamak ve ardından diziyi sıralamak isteyebilirsiniz.
Örnek
Not: Aşağıdaki örneklerde, bu işlevin Visual Basic for Applications (VBA) modülünde kullanımı gösterilir. VBA ile çalışma hakkında daha fazla bilgi için, rama'nın yanındaki açılan listede Geliştirici Başvurusu'nu seçin ve arama kutusuna bir veya birden çok terim yazın.
Bu örnekte, belirli dosya ve dizinlerin mevcut olup olmadığını denetlemek için Dir işlevi kullanılır. Macintosh'ta "HD:" varsayılan sürücü adıdır ve yol adının bölümleri ters eğik çizgi yerine iki nokta üst üste ile ayrılır. Ayrıca, Windows joker karakterleri Macintosh'ta geçerli dosya adı karakterleri olarak kabul edilir. Ancak, dosya gruplarını belirtmek için MacID işlevini kullanabilirsiniz.
Dim MyFile, MyPath, MyName
' Returns "WIN.INI" (on Microsoft Windows) if it exists. MyFile = Dir("C:\WINDOWS\WIN.INI") ' Returns filename with specified extension. If more than one *.ini ' file exists, the first file found is returned. MyFile = Dir("C:\WINDOWS\*.INI") ' Call Dir again without arguments to return the next *.INI file in the ' same directory. MyFile = Dir ' Return first *.TXT file with a set hidden attribute. MyFile = Dir("*.TXT", vbHidden) ' Display the names in C:\ that represent directories. MyPath = "c:\" ' Set the path. MyName = Dir(MyPath, vbDirectory) ' Retrieve the first entry. Do While MyName <> "" ' Start the loop. ' Ignore the current directory and the encompassing directory. If MyName <> "." And MyName <> ".." Then ' Use bitwise comparison to make sure MyName is a directory. If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then Debug.Print MyName ' Display entry only if it End If ' it represents a directory. End If MyName = Dir ' Get next entry. Loop