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[(pathname [, attributes] )]

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. A függvény nulla hosszúságú karakterláncot ("") ad vissza, ha az elérési út nem található.
Attribútumok Nem kötelező. Állandó vagy numerikus kifejezés, amelynek összege fájlattribútumokat határoz meg. Ha nincs megadva, olyan fájlokat ad vissza, amelyek megfelelnek az elérési út nevének , de nincsenek attribútumai.

    

Beállítások

Az attribútumok argumentumbeállításaia következők:

Á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 Windowsban a Dir több karakter (*) és egy karakter (?) helyettesítő karakterek használatát támogatja 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.

A 256-nál nagyobb attribútumértékekMacID-értéknek minősülnek.

A Dir függvény első meghívásakor vagy hiba esetén meg kell adnia az elérési út nevét. Ha fájlattribútumokat is megad, az elérési út nevét is tartalmaznia kell.

A Dir az elérési útnak megfelelő első fájlnevet adja vissza. Ha további fájlneveket szeretne lekérni, amelyek megegyeznek az elérési út nevével, hívja meg újra a Dir függvényt argumentumok nélkül. Ha nincs több megfelelő fájlnév, akkor a Dir nulla hosszúságú karakterláncot ("") ad vissza. A nulla hosszúságú sztring visszaadása után meg kell adnia az elérési út nevét a későbbi hívásokban, vagy hiba történik. Az aktuális elérési útnévnek megfelelő összes fájlnév beolvasása nélkül válthat új elérési útra. 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, érdemes lehet egy tömbben tárolni a visszaadott fájlneveket, majd rendezni a tömböt.

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