Funktion Dir

Gibt den Namen einer Datei, den Namen eines Verzeichnisses oder die Namen aller Dateien und Verzeichnisse auf einem Laufwerk oder in einem Verzeichnis zurück, auf die der angegebene Suchpfad zutrifft.

Syntax:


Dir [(PathName As String [, Attributes As Integer])]

Rückgabetyp:

String

Parameter:

PathName: Eine Zeichenfolge, die den Suchpfad, das Suchverzeichnis oder die Suchdatei festlegt. Dieses Argument kann nur beim ersten Aufruf der Funktion "Dir" angegeben werden. Wenn gewollt, kann der Pfad in URL-Schreibweise eingegeben werden.

Attributes: Jeder ganzzahlige Ausdruck, der bitweise Dateiattribute festlegt. Die Funktion "Dir" gibt nur Dateien oder Verzeichnisse zurück, die den angegebenen Attributen entsprechen. Mehrere Attribute können kombiniert werden, indem die Attributwerte hinzugefügt werden:

0 : Normale Dateien.

16 : Nur Verzeichnisnamen werden zurückgeliefert.

Dieses Attribut verwenden, um die Existenz einer Datei oder eines Verzeichnisses zu überprüfen oder um alle Dateien und Ordner in einem bestimmten Verzeichnis zu bestimmen.

Um das Vorhandensein einer Datei zu überprüfen, den vollständigen Pfad und Namen der Datei eingeben. Existiert der Datei- oder Verzeichnisname nicht, so gibt die Funktion "Dir" eine leere Zeichenfolge ("") zurück.

Um eine Liste aller Dateien in einem bestimmten Verzeichnis zu erstellen, wie folgt vorgehen: Beim ersten Aufruf der Funktion "Dir" wird der vollständigen Suchpfad für die Dateien festgelegt, beispielsweise "D:\Dateien\*.ods". Wenn der Pfad korrekt ist und mindestens eine Datei gefunden wird, gibt die Funktion "Dir" den Namen der ersten Datei zurück, auf die der Suchpfad zutrifft. Um weitere Dateinamen für diesen Suchpfad zurückzugeben, die Funktion "Dir" erneut aufrufen, ohne jedoch irgendwelche Argumente anzugeben.

Um nur Verzeichnisse zu ermitteln, den Parameter Attribute verwenden. Ebenso, um den Namen eines Volumes zu ermitteln (beispielsweise eine Festplattenpartition).

Fehlercodes:

5 Ungültiger Prozeduraufruf

53 Datei nicht gefunden

Beispiel:


Sub ExampleDir
' Zeigt alle Dateien und Verzeichnisse
Dim sPath As String
Dim sDir As String, sValue As String
    sDir="Verzeichnisse:"
    sPath = CurDir
    sValue = Dir$(sPath + getPathSeparator + "*",16)
    Do
        If sValue <> "." And sValue <> ".." Then
            If (GetAttr( sPath + getPathSeparator + sValue) And 16) >0 Then
                ' Holt die Verzeichnisse
                sDir = sDir & chr(13) & sValue
            End If
        End If
        sValue = Dir$
    Loop Until sValue = ""
    MsgBox sDir,0,sPath
End Sub
Bitte unterstützen Sie uns!

Bitte unterstützen Sie uns!