Dir függvény

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 [(Text As String [, Attrib 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.

Ha csak a könyvtárakat akarja visszaadni, használja az attribútumparamétert. Ugyanez érvényes, ha meg kívánja határozni a kötet (például merevlemez-partíció) nevét.

Hibakódok:

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

Támogasson minket!