Dir Function

Visszaadja egy könyvtár, egy fájl vagy az összes olyan fájl, illetve könyvtár nevét egy meghajtón, illetve egy könyvtárban, amelyek megfelelnek a megadott keresési útvonalnak.

Szintaxis:

Dir [(Szöveg As String) [, Attribútum As Integer]]

Visszatérési érték:

String (karakterlánc)

Paraméterek:

Szöveg: String (karakterlánc) kifejezés, amely megadja a keresési utat, a fájlt vagy a könyvtárat. Ez az argumentum csak a Dir függvény első meghívásakor adható meg. Igény szerint URL-jelöléssel is megadhatja az elérési utat.

Attribútum: Bármilyen integer (egész szám) kifejezés, amely megadja a fájlattribútum-biteket. A Dir függvény csak a megadott attribútumoknak megfelelő fájlokat vagy könyvtárakat adja vissza. Az attribútumértékek hozzáadásával számos attribútumot egyesíthet:

0 : Normál fájlok.

16 : Csak a könyvtár nevét adja vissza.

Ezzel az attribútummal ellenőrizheti egy könyvtár létezését, vagy meghatározhatja az adott könyvtárban levő összes fájlt és mappát.

Annak ellenőrzéséhez, hogy a fájl létezik-e, adja meg a fájl teljes elérési útját vagy nevét. Ha a fájl- vagy könyvtárnév nem létezik, akkor a Dir függvény nulla hosszúságú karakterláncot ad vissza ("").

Ha egy adott könyvtárban lévő összes fájlt akarja kilistázni, a következő módon járjon el: A Dir függvény első meghívásakor adja meg a fájlok keresésének teljes elérési útját, például "D:\Files\*.ods". Ha az elérési út helyes, és a keresés legalább egy fájlt talál, akkor a Dir függvény visszaadja a keresési útnak megfelelő első fájlt. Az elérési útnak megfelelő további fájlnevek visszaadásához hívja meg újra a Dir függvényt, de argumentumok nélkül.

To return directories only, use the attribute parameter. The same applies if you want to determine the name of a volume (for example, a hard drive partition).

Error codes:

5 Érvénytelen eljáráshívás

53 A fájl nem található

PĂ©lda:

Sub ExampleDir

' Megjeleníti az összes könyvtárat és fájlt

Dim sPath As String

Dim sDir As String, sValue As String

    sDir="Könyvtárak:"

    sPath = CurDir

    sValue = Dir$(sPath + getPathSeparator + "*",16)

    Do

        If sValue <> "." And sValue <> ".." Then

            If (GetAttr( sPath + getPathSeparator + sValue) And 16) >0 Then

                ' könyvtárak beolvasása

                sDir = sDir & chr(13) & sValue

            End If

        End If

        sValue = Dir$

    Loop Until sValue = ""

    MsgBox sDir,0,sPath

End Sub