Dir-FunktionDir function

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.Returns a String representing the name of a file, directory, or folder that matches a specified pattern or file attribute, or the volume label of a drive.

SyntaxSyntax

Dir [(Pfadname, [Attribute])]Dir [ (pathname, [ attributes ] ) ]


Die Syntax der Dir-Funktion besteht aus den folgenden Teilen:The Dir function syntax has these parts:

TeilPart BeschreibungDescription
pathnamepathname Optional.Optional. Zeichenfolgenausdruck, der einen Dateinamen angibt und auch Verzeichnis- oder Ordner- und Laufwerksangaben enthalten kann.String expression that specifies a file name; may include directory or folder, and drive. Eine leere Zeichenfolge ("") wird zurückgegeben, wenn Pfadname nicht gefunden wurde.A zero-length string ("") is returned if pathname is not found.
attributesattributes Optional.Optional. Konstante oder numerischer Ausdruck, deren/dessen Summe die Dateiattribute angibt.Constant or numeric expression, whose sum specifies file attributes. Wenn nicht angegeben, werden Dateien zurückgegeben, die mit Pfadname übereinstimmen, jedoch keine Attribute aufweisen.If omitted, returns files that match pathname but have no attributes.

EinstellungenSettings

Die attributes-Argument-Einstellungen lauten:The attributes argument settings are:

KonstanteConstant WertValue BeschreibungDescription
vbNormalvbNormal 00% (Standard) Gibt Dateien ohne Attribute an.(Default) Specifies files with no attributes.
vbReadOnlyvbReadOnly 11. Gibt zusätzlich zu Dateien ohne Attribute schreibgeschützte Dateien an.Specifies read-only files in addition to files with no attributes.
vbHiddenvbHidden 22. Gibt zusätzlich zu Dateien ohne Attribute ausgeblendete Dateien an.Specifies hidden files in addition to files with no attributes.
vbSystemvbSystem 44. Gibt zusätzlich zu Dateien ohne Attribute Systemdateien an.Specifies system files in addition to files with no attributes. Unter Macintosh nicht verfügbar.Not available on the Macintosh.
vbVolumevbVolume 88. Gibt die Volumebezeichnung an; wenn ein weiteres Attribut angegeben ist, wird vbVolume ignoriert.Specifies volume label; if any other attribute is specified, vbVolume is ignored. Unter Macintosh nicht verfügbar.Not available on the Macintosh.
vbDirectoryvbDirectory 161.6 Gibt zusätzlich zu Dateien ohne Attribute Verzeichnisse oder Ordner an.Specifies directories or folders in addition to files with no attributes.
vbAliasvbAlias 646.4 Der angegebene Dateiname ist ein Alias.Specified file name is an alias. Nur unter Macintosh verfügbar.Available only on the Macintosh.

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.These constants are specified by Visual Basic for Applications and can be used anywhere in your code in place of the actual values.

HinweiseRemarks

In Microsoft Windows unterstützt Dir die Verwendung von mehreren Zeichen (*) und einem einzelnen Zeichen (?) zum Angeben mehrerer Dateien.In Microsoft Windows, Dir supports the use of multiple character (*) and single character (?) wildcards to specify multiple files. Auf einem Macintosh-Computer werden diese Zeichen als gültige Zeichen für Dateinamen behandelt und können nicht als Platzhalter verwendet werden, um mehrere Dateien anzugeben.On the Macintosh, these characters are treated as valid file name characters and can't be used as wildcards to specify multiple files.

Da der Macintosh die Platzhalter nicht unterstützt, verwenden Sie den Dateityp, um Gruppen von Dateien zu identifizieren.Because the Macintosh doesn't support the wildcards, use the file type to identify groups of files. Sie können die MacID-Funktion verwenden, um den Dateityp anstelle von Dateinamen anzugeben.You can use the MacID function to specify file type instead of using the file names. Die folgende Anweisung gibt beispielsweise den Namen der ersten TEXT-Datei im aktuellen Ordner zurück:For example, the following statement returns the name of the first TEXT file in the current folder:

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

Zum Durchlaufen aller Dateien in einem Ordner geben Sie eine leere Zeichenfolge an:To iterate over all files in a folder, specify an empty string:

Dir("")

Wenn Sie die MacID-Funktion mit Dir in Microsoft Windows verwenden, tritt ein Fehler auf.If you use the MacID function with Dir in Microsoft Windows, an error occurs.

Jeder Attribut-Wert, der größer als 256 ist, wird als ein MacID-Wert betrachtet.Any attribute value greater than 256 is considered a MacID value.

Sie müssen pathname angeben, wenn Sie die Dir-Funktion das erste Mal aufrufen, andernfalls tritt ein Fehler auf.You must specify pathname the first time you call the Dir function, or an error occurs. Wenn Sie auch Dateiattribute angeben, muss pathname einbezogen werden.If you also specify file attributes, pathname must be included.

Dir gibt den ersten Dateinamen zurück, der pathname entspricht.Dir returns the first file name that matches pathname. Um weitere Dateinamen abzurufen, die pathname entsprechen, rufen Sie Dir erneut ohne Argumente auf.To get any additional file names that match pathname, call Dir again with no arguments. Wenn keine weiteren Dateinamen übereinstimmen, gibt Dir eine leere Zeichenfolge ("") zurück.When no more file names match, Dir returns a zero-length string (""). Nachdem eine leere Zeichenfolge zurückgegeben wurde, müssen Sie pathname in nachfolgenden Aufrufen angeben, oder es tritt ein Fehler auf.After a zero-length string is returned, you must specify pathname in subsequent calls, or an error occurs.

Sie können pathname ändern, ohne dass alle Dateinamen abgerufen werden, die dem aktuellen pathname entsprechen.You can change to a new pathname without retrieving all of the file names that match the current pathname. Sie können die Dir-Funktion jedoch nicht rekursiv aufrufen.However, you can't call the Dir function recursively. Das Aufrufen von Dir mit dem vbDirectory-Attribut gibt nicht fortlaufend Unterverzeichnisse zurück.Calling Dir with the vbDirectory attribute does not continually return subdirectories.

Mit Excel für Mac 2016 wird der ursprüngliche Dir-Funktionsaufruf erfolgreich ausgeführt.With Excel for Mac 2016, the initial Dir function call will succeed. Nachfolgende Aufrufe zum Durchlaufen des angegebenen Verzeichnisses führen jedoch zu einem Fehler.Subsequent calls to iterate through the specified directory will cause an error, however. Dies ist leider ein bekanntes Problem.This is a known bug unfortunately.

Tipp

Da Dateinamen nicht in einer bestimmten Reihenfolge abgerufen werden, müssen Sie möglicherweise zurückgegebene Dateinamen in einem Array speichern und dieses anschließend sortieren.Because file names are retrieved in no particular order, you may want to store returned file names in an array, and then sort the array.

Siehe auchSee also

Support und FeedbackSupport and feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation?Have questions or feedback about Office VBA or this documentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.