Dir függvény

Hatókör
Microsoft 365-höz készült Access Access 2024 Access 2021 Access 2019 Access 2016

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 az elérési út nem található, akkor a függvény nulla hosszúságú karakterláncot ("") ad vissza.
Attribútumok Nem kötelező. Állandó vagy numerikus kifejezés, amelynek összege megadja a fájlattribútumokat. Ha nincs megadva, akkor az elérési útnak egyező, de attribútum nélküli fájlokat adja vissza.

    

Beállítások

Az attribútumokargumentum beá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

A Microsoft Windows rendszerben a Dir lehetővé teszi több karakter (*) és egy karakter (?) helyettesítő karakterek használatát több fájl megadásához. 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.

Minden 256-nál nagyobb attribútumértéketMacID értéknek tekintünk.

A Dir függvény első hívásakor meg kell adnia az elérési utat, mert különben hiba történik. Ha fájlattribútumokat is megad, akkor az elérési utat is meg kell adnia.

A Dir az első olyan fájlnevet adja vissza, amely megfelel az elérési útnak. Ha további fájlneveket szeretne kapni, amelyek megfelelnek az elérési útnak, hívja meg 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. Ha nulla hosszúságú karakterláncot ad vissza, meg kell adnia az elérési utat a következő hívások során, különben hiba történik. Az új elérési utakat anélkül módosíthatja, hogy az aktuális elérési útnak megfelelő összes fájlnevet be kellene olvasnia. 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 fájlnevek beolvasása nem meghatározott sorrendben történik, célszerű a visszaadott fájlneveket egy tömbben tárolni, majd a tömböt rendezni.

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