Module
Inhalte
Index 🔎︎

# 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 [(Text As String) [, Attribut As Integer]]

## Rückgabewert:

String

## Parameter:

Text: Ein beliebiger Zeichenkettenausdruck, der den Suchpfad, das Verzeichnis oder die Datei angibt. Dieses Argument kann nur beim ersten Aufruf der Dir-Funktion angegeben werden. Falls gewünscht, können Sie den Pfad in URL-Schreibweise eingeben.

Attribut: Ein beliebiger Integer-Ausdruck, der die Dateiattribute als Bitmuster angibt. Die Dir-Funktion gibt nur Dateien oder Verzeichnisse zurück, auf die die angegebenen Attribute zutreffen. Durch Addieren der Attributwerte können Sie mehrere Attribute kombinieren:

0 : Normale Dateien.

16 : Nur Verzeichnisnamen werden zurückgeliefert.

Verwenden Sie dieses Attribut, 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, geben Sie den vollständigen Pfad und Namen der Datei ein. Existiert der Datei- oder Verzeichnisname nicht, so gibt die Dir-Funktion eine leere Zeichenkette ("") zurück.

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

Um nur Verzeichnisse zu ermitteln, verwenden Sie den Parameter Attribute. 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