Inhalte

# 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ückgabewert:

String

### Parameter:

PathName: Jede Zeichenfolge, die den Suchpfad, das Suchverzeichnis oder die Suchdatei festlegt. Dieses Argument kann nur beim ersten Aufruf der Funktion "Dir" angegeben werden. Wenn Sie möchten, können Sie den Pfad in URL-Schreibweise eingeben.

Attributes: Jeder ganzzahlige Ausdruck, der bitweise Dateiattribute festlegt. Die Funktion "Dir" gibt nur Dateien oder Verzeichnisse zurück, die den angegebenen Attributen entsprechen. Sie können mehrere Attribute kombinieren, indem Sie die Attributwerte hinzufügen:

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 Funktion Dir eine leere Zeichenfolge ("") zurück.

Um eine Liste aller Dateien in einem bestimmten Verzeichnis zu erstellen, gehen Sie wie folgt vor: Beim ersten Aufruf der Funktion "Dir" legen Sie den vollständigen Suchpfad für die Dateien fest, 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, rufen Sie die Funktion "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

Verwandte Themen

Funktion CurDir

Funktion CompatibilityMode()

Anweisung Option VBASupport