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 olmayabilecek ifadelerin değerlendirilmesini engeller. Korumalı alan modu hakkında daha fazla bilgi için, Yardım'da "korumalı alan modu" araması yapın.
Belirtilen bir desen veya dosya özniteliğiyle eşleşen bir dosyanın, dizinin veya klasörün adını veya bir sürücünün birim etiketini temsil eden bir Dize döndürür.
Söz dizimi
Dir[(yoladı [, öznitelikler] )]
Dir işlevinin söz diziminde aşağıdaki bağımsız değişkenler bulunur:
| Bağımsız değişken | Açıklama |
|---|---|
| yol adı | İ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 bir dize ("") döndürülür. |
| öznitelikler | İsteğe bağlı. Toplamı dosya özniteliklerini belirten sabit veya sayısal ifade. Atlanırsa, yol adıyla eşleşen ancak öznitelikleri olmayan dosyaları döndürür. |
Ayarlar
Özniteliklerbağımsız değişken ayarları şunlardır:
| Sabit | Değer | Açıklama |
|---|---|---|
| vbNormal | 0 | (Varsayılan) Özniteliği olmayan dosyaları belirtir. |
| vbReadOnly | 1 | Salt okunur dosyaların yanı sıra özniteliği olmayan dosyaları da belirtir. |
| vbHidden | 2 | Özniteliği olmayan dosyalara ek olarak gizli dosyaları belirtir. |
| Vb Sistemi | 4 | Öznitelikleri olmayan dosyalara ek olarak sistem dosyalarını belirtir. Macintosh'ta mevcut değildir. |
| vbVolume | 8 | Hacim etiketini belirtir; Başka bir öznitelik belirtilirse, vbVolume yok sayılır. Macintosh'ta mevcut değildir. |
| vbDirectory | 16 | Öznitelikleri olmayan dosyalara ek olarak dizinleri veya klasörleri belirtir. |
| vbDiğer Adı | 64 | Belirtilen dosya adı bir diğer addır. Yalnızca Macintosh'ta kullanılabilir. |
Not
Bu sabitler Visual Basic for ApplicationsVisual Basic for Applications (VBA) tarafından belirtilir ve kodunuzda gerçek değerlerin yerine herhangi bir yerde kullanılabilir.
Açıklamalar
Microsoft Windows'ta Dir birden çok dosya belirtmek için birden çok karakterli (*) ve tek karakterli (?) 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 TEXT dosyasının adını döndürür:
Dir("SomePath", MacID("TEXT"))
Klasördeki tüm dosyalar üzerinde yineleme yapmak için boş bir dize belirtin:
Dir("")
Windows'ta MacID işlevini Dir ile kullanırsanız bir hata oluşur.
256'dan büyük olan tüm öznitelik değerleri MacID değeri olarak kabul edilir.
Dir işlevini ilk kez çağırdığınızda yol adını belirtmeniz gerekir, aksi takdirde bir hata oluşur. Dosya öznitelikleri de belirtirseniz, yol adının da eklenmesi gerekir.
Dir , yol adıyla eşleşen ilk dosya adını döndürür. Yol adıyla eşleşen ek dosya adları almak için, Dir öğesini bağımsız değişken olmadan yeniden çağırın. Başka dosya adı eşleşmediğinde, Dir sıfır uzunlukta bir dize ("") döndürür. Sıfır uzunluklu bir dize döndürüldüğünde, sonraki çağrılarda yol adını belirtmeniz gerekir, aksi takdirde bir hata oluşur. Geçerli yol adıyla eşleşen tüm dosya adlarını almadan yeni bir yol adına geçebilirsiniz. Ancak, Dir işlevini yinelemeli olarak çağıramazsınız. vbDirectory özniteliğiyle Dir'i çağırmak, sürekli olarak alt dizinleri döndürmez.
İpucu Dosya adları belirli bir sırada alınmadığından, döndürülen dosya adlarını bir dizide depolamak ve sonra 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ılmıştır. Macintosh'ta, "HD:" varsayılan sürücü adıdır ve yol adının bazı kısımları ters eğik çizgi yerine iki nokta üst üste ile ayrılmıştır. Ayrıca, Windows joker karakterleri Macintosh'ta geçerli dosya adı karakterleri olarak kabul edilir. Bununla birlikte, 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