Megjegyzés: A témakörben ismertetett függvény, metódus, objektum vagy tulajdonság le van tiltva, ha a Microsoft Jet Expression Service védőfalas üzemmódban fut, mivel ez megakadályozza az esetleg nem biztonságos kifejezések kiszűrését. A korlátozott engedélyekkel rendelkező üzemmódról többet tudhat meg, ha a súgóban rákeres a „korlátozott engedélyek” kifejezésre.

Az eredmény egy olyan karakterlánc, amely annak a fájlnak, könyvtárnak vagy mappának a nevét tartalmazza, amely megfelel egy adott mintázatnak vagy fájlattribútumnak, vagy egy meghajtó kötetcímkéjének.

Szintaxis

Dir[(elérési út [, attribútumok] )]

Dir függvény argumentumai a következők:

Argumentum

Leírás

elérési út

Nem kötelező. Karakterlánc-kifejezés, amely megad egy fájlnevet – tartalmazhat könyvtárt vagy mappát és meghajtót is. Ha a rendszer nem találja az elérési utat, nulla hosszúságú karakterláncot ("") ad eredményül.

Attribútumok

Nem kötelező. Állandó vagy numerikus kifejezés, amelynek összege megadja a fájlattribútumokat. Ha nincs megadva, a függvény azokat a fájlokat adja eredményül, amelyek megfelelnek az elérési útnak, de nincs attribútumuk.

Beállítások

Az attribútumok argumentumbeállításai:

Állandó

Érték

Leírás

vbNormal

0

(Alapértelmezett) Az attribútum nélküli fájlokat adja meg.

vbReadOnly

1

Az attribútum nélküli fájlokon túl megadja a csak olvasható fájlokat is.

vbHidden

2

Az attribútum nélküli fájlokon túl megadja a rejtett fájlokat is.

VbSystem

4

Az attribútum nélküli fájlokon túl megadja a rendszerfájlokat is. Macintosh rendszeren nem érhető el.

vbVolume

8

Megadja a kötetcímkét; ha más attribútumot is megad, akkor a vbVolume argumentumot figyelmen kívül hagyja a függvény. Macintosh rendszeren nem érhető el.

vbDirectory

16

Az attribútum nélküli fájlokon túl megadja a könyvtárakat vagy mappákat is.

vbAlias

64

A megadott fájlnév egy hivatkozási név (alias). Csak Macintosh rendszeren érhető el.

Megjegyzés:  Ezeket az állandókat a Visual Basic for Applications (VBA) adja meg, és a kódban bárhol használhatja őket a tényleges értékek helyett.

Megjegyzések

Microsoft Windows rendszerben a * és a ? helyettesítő karaktert is használhatja a Dir függvény argumentumában arra, hogy több fájlt adjon meg. A Macintosh rendszer ezeket a karaktereket érvényes fájlnévkarakterként kezeli, így ezek nem használhatók helyettesítő karakterként több fájl megadására.

Mivel a Macintosh nem támogatja a helyettesítő karaktereket, használja a fájltípust a fájlcsoportok azonosítására. A MacID függvény segítségével megadhatja a fájltípust a fájlnevek használata helyett. A következő utasítás például az aktuális mappában lévő első TEXT (szöveges) fájl nevét adja eredményül:

Dir("SomePath", MacID("TEXT"))

Ha a mappa minden fájlján szeretne elvégezni valamit, adjon meg egy üres karaktersorozatot:

Dir("")

Ha a MacID függvényt Windows rendszeren használja a Dir függvénnyel, hiba lép fel.

A 256-nál nagyobb értékű attribútumokatMacID értéknek tekinti a rendszer.

Amikor először hívja meg a Dir függvényt, meg kell adnia egy elérési utat, különben hiba történik. Ha fájlattribútumot is megad, elérési utat is meg kell adnia.

A Dir az első olyan fájl nevét adja vissza, amely megfelel az elérési útnak. Ha további fájlneveket szeretne kapni, amelyek megfelelnek az elérési útnak, használja ismét argumentumok nélkül a Dir függvényt. Ha nincs több megfelelő fájlnév, akkor a Dir nulla hosszúságú karakterláncot ("") ad vissza. Miután a függvény visszaadott egy nulla hosszúságú karakterláncot, a következő hívások alkalmával meg kell adni egy elérési utat, különben hiba történik. Áttérhet új elérési útra úgy is, hogy nem kéri le az aktuális elérési útnak megfelelő összes fájlnevet. A Dir függvény azonban nem hívható rekurzív módon. Ha a Dir függvényt a vbDirectory attribútummal hívja meg, nem kapja meg az összes alkönyvtárt.

Tipp:     Mivel a lekért fájlnevek tetszőleges sorrendben lehetnek, érdemes a fájlneveket egy tömbben tárolni, majd a tömböt sorrendbe állítani.

Példa

Megjegyzés: A következő példák egy Visual Basic for Applications (VBA) modulban mutatják be a függvény használatát. A VBA használatáról a Keresés elem mellett található legördülő listából a fejlesztői forrásokat választva, majd egy vagy több keresőszót megadva kaphat további tájékoztatást.

Ebben a példában a Dir függvénnyel ellenőrizheti, hogy bizonyos fájlok és könyvtárak léteznek-e. A Macintosh rendszerben az alapértelmezett meghajtónév „HD:”, és az elérési út részei között fordított ferde vonalak helyett kettőspontok vannak. A Macintosh rendszerben a Windows helyettesítő karaktereit érvényes fájlnévkarakterként kezeli a függvény. Fájlcsoportok megadására azonban használható a MacID függvény.

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

További segítségre van szüksége?

További lehetőségeket szeretne?

Fedezze fel az előfizetés előnyeit, böngésszen az oktatóanyagok között, ismerje meg, hogyan teheti biztonságossá eszközét, és így tovább.

A közösségek segítségével kérdéseket tehet fel és válaszolhat meg, visszajelzést adhat, és részletes ismeretekkel rendelkező szakértőktől hallhat.