Dir-Funktion

Gibt eine Zeichenfolge zurück, die den Namen einer zu einem bestimmten Muster oder Dateiattribut passenden Datei, eines Verzeichnisses oder eines Ordners oder die Volumebezeichnung eines Laufwerks darstellt.

Syntax

Dir [(Pfadname, [Attribute])]

Die Syntax der Dir-Funktion besteht aus den folgenden Teilen:

Teil Beschreibung
pathname Optional. Zeichenfolgenausdruck, der einen Dateinamen angibt und auch Verzeichnis- oder Ordner- und Laufwerksangaben enthalten kann. Eine leere Zeichenfolge ("") wird zurückgegeben, wenn Pfadname nicht gefunden wurde.
attributes Optional. Konstante oder numerischer Ausdruck, deren/dessen Summe die Dateiattribute angibt. Wenn nicht angegeben, werden Dateien zurückgegeben, die mit Pfadname übereinstimmen, jedoch keine Attribute aufweisen.

Einstellungen

Die attributes-Argument-Einstellungen lauten:

Konstante Wert Beschreibung
vbNormal 0 (Standard) Gibt Dateien ohne Attribute an.
vbReadOnly 1 Gibt zusätzlich zu Dateien ohne Attribute schreibgeschützte Dateien an.
vbHidden 2 Gibt zusätzlich zu Dateien ohne Attribute ausgeblendete Dateien an.
vbSystem 4 Gibt zusätzlich zu Dateien ohne Attribute Systemdateien an. Unter Macintosh nicht verfügbar.
vbVolume 8 Gibt die Volumebezeichnung an; wenn ein weiteres Attribut angegeben ist, wird vbVolume ignoriert. Unter Macintosh nicht verfügbar.
vbDirectory 16 Gibt zusätzlich zu Dateien ohne Attribute Verzeichnisse oder Ordner an.
vbAlias 64 Der angegebene Dateiname ist ein Alias. Nur unter Macintosh verfügbar.

Hinweis

Folgende Konstanten werden durch Visual Basic for Applications angegeben und können an einer beliebigen Stelle in Ihrem Code anstelle der eigentlichen Werte verwendet werden.

Hinweise

In Microsoft Windows und macOS unterstützt Dir die Verwendung von mehreren Zeichen (*) und einem einzelnen Zeichen (?) zum Angeben mehrerer Dateien.

Da der Macintosh die Platzhalter nicht unterstützt, verwenden Sie den Dateityp, um Gruppen von Dateien zu identifizieren. Verwenden Sie die MacID -Funktion, um den Dateityp anzugeben, anstatt die Dateinamen zu verwenden. Die folgende Anweisung gibt beispielsweise den Namen der ersten TEXT-Datei im aktuellen Ordner zurück:

Dir("SomePath", MacID("TEXT"))

Zum Durchlaufen aller Dateien in einem Ordner geben Sie eine leere Zeichenfolge an:

Dir("")

Wenn Sie die MacID-Funktion mit Dir in Microsoft Windows verwenden, tritt ein Fehler auf.

Jeder Attribut-Wert, der größer als 256 ist, wird als ein MacID-Wert betrachtet.

Sie müssen pathname angeben, wenn Sie die Dir-Funktion das erste Mal aufrufen, andernfalls tritt ein Fehler auf. Wenn Sie auch Dateiattribute angeben, muss pathname einbezogen werden.

Dir gibt den ersten Dateinamen zurück, der pathname entspricht. Um weitere Dateinamen abzurufen, die pathname entsprechen, rufen Sie Dir erneut ohne Argumente auf. Wenn keine weiteren Dateinamen übereinstimmen, gibt Dir eine leere Zeichenfolge ("") zurück. Nachdem eine leere Zeichenfolge zurückgegeben wurde, müssen Sie pathname in nachfolgenden Aufrufen angeben, oder es tritt ein Fehler auf.

Sie können pathname ändern, ohne dass alle Dateinamen abgerufen werden, die dem aktuellen pathname entsprechen. Sie können die Dir-Funktion jedoch nicht rekursiv aufrufen. Das Aufrufen von Dir mit dem vbDirectory-Attribut gibt nicht fortlaufend Unterverzeichnisse zurück.

Tipp

Da Dateinamen unter Windows in der Reihenfolge unter Nichtbeachtung der Groß-/Kleinschreibung und unter macOS in der Reihenfolge unter Beachtung der Groß-/Kleinschreibung abgerufen werden, müssen Sie möglicherweise zurückgegebene Dateinamen in einem Array speichern und dieses anschließend sortieren.

Siehe auch

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.