Applies ToAccess für Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Hinweis: Die in diesem Thema beschriebene Funktion, Methode, Objekt oder Eigenschaft ist deaktiviert, wenn der Microsoft Jet-Ausdrucksdienst im Sandboxmodus ausgeführt wird, der die Auswertung potenziell unsicherer Ausdrücke verhindert. Weitere Informationen zum Sandboxmodus finden Sie, wenn Sie in der Hilfe nach "Sandboxmodus" suchen.

Gibt eine Zeichenfolge zurück, die den Namen einer einem bestimmten Muster oder Dateiattribut entsprechenden Datei oder eines solchen Verzeichnisses oder Ordners oder die Bezeichnung eines Laufwerks darstellt.

Syntax

Dir[(Pfadname [, Attribute] )]

Die Syntax der Dir-Funktion weist die folgenden Argumente auf:

Argument

Beschreibung

Pfadname

Optional. Zeichenfolgenausdruck, der einen Dateinamen angibt – kann ein Verzeichnis oder einen Ordner sowie ein Laufwerk enthalten. Eine Zeichenfolge der Länge NULL ("") wird zurückgegeben wird, wenn Pfadname nicht gefunden wird.

Attribute

Optional. Konstante oder Numerischer Ausdruck, deren/dessen Summe Dateiattribute angibt. Wenn nicht angegeben, werden Dateien zurückgegeben, die Pfadname entsprechen, aber keine Attribute aufweisen.

Einstellungen

Die Einstellungen für AttributeArgument sind:

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. Auf einem Macintosh nicht verfügbar.

vbVolume

8

Gibt die Volumebezeichnung an; Wenn ein anderes Attribut angegeben wird, wird vbVolume ignoriert. Auf einem 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 auf einem Macintosh verfügbar.

Hinweis:  Diese Konstanten werden von Visual Basic for Applications (VBA) angegeben und können an einer beliebigen Stelle in Ihrem Code anstelle der tatsächlichen Werte verwendet werden.

Anmerkungen

Unter Microsoft Windows unterstützt Dir die Verwendung von Platzhaltern mit mehreren (*) oder einzelnen (?) Zeichen zur Angabe mehrerer Dateien. Auf einem Macintosh-Computer werden diese Zeichen als gültige Zeichen des Dateinamens behandelt und können nicht als Platzhalter verwendet werden, um mehrere Dateien anzugeben.

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

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

Geben Sie zum Durchlaufen aller Dateien in einem Ordner eine leere Zeichenfolge an:

Dir("")

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

Ein beliebiger Attribut-Wert größer als 256 wird als MacID-Wert betrachtet.

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

Dir gibt den ersten Dateinamen zurück, der mit pathname übereinstimmt. Um zusätzliche Dateinamen zu erhalten, die dem Pfadnamen entsprechen, rufen Sie Dir ohne Argumente erneut auf. Wenn keine weiteren Dateinamen übereinstimmen, gibt Dir eine leere Zeichenfolge ("") zurück. Sobald eine Zeichenfolge der Länge Null zurückgegeben wird, müssen Sie pathname in nachfolgenden Aufrufen angeben, sonst tritt ein Fehler auf. Sie können in einen neuen Pfadnamen wechseln, ohne alle Dateinamen abzurufen, die dem aktuellen Pfadnamen entsprechen. Sie können die Dir-Funktion jedoch nicht rekursiv aufrufen. Das Aufrufen von Dir mit dem vbDirectory-Attribut gibt nicht kontinuierlich Unterverzeichnisse zurück.

Tipp     Da Dateinamen in keiner bestimmten Reihenfolge abgerufen werden, empfiehlt es sich, zurückgegebene Dateinamen in einem Matrix zu speichern und dann das Array zu sortieren.

Beispiel

Hinweis: Die folgenden Beispiele zeigen die Verwendung dieser Funktion in einem VBA-Modul (Visual Basic for Applications). Wenn Sie weitere Informationen zum Arbeiten mit VBA wünschen, wählen Sie Entwicklerreferenz in der Dropdownliste neben Suchen aus, und geben Sie einen oder mehrere Begriffe in das Suchfeld ein.

In diesem Beispiel wird die Dir-Funktion verwendet, um zu überprüfen, ob bestimmte Dateien und Verzeichnisse vorhanden sind. Auf einem Macintosh-Computer ist "HD:" der Standardlaufwerkname, und Teile des Pfadnamens werden durch Doppelpunkte anstatt durch umgekehrte Schrägstriche voneinander getrennt. Darüber hinaus werden die Windows-Platzhalterzeichen auf dem Macintosh als gültige Zeichen des Dateinamens behandelt. Sie können jedoch die MacID-Funktion verwenden, um Dateigruppen anzugeben.

Dim MyFile, MyPath, MyName' Returns "WIN.INI" (on Microsoft Windows) if it exists.MyFile = Dir("C:\WINDOWS\WIN.INI")    ' Returns filename with specified extension. If more than one *.ini' file exists, the first file found is returned.MyFile = Dir("C:\WINDOWS\*.INI")' Call Dir again without arguments to return the next *.INI file in the ' same directory.MyFile = Dir' Return first *.TXT file with a set hidden attribute.MyFile = Dir("*.TXT", vbHidden)' Display the names in C:\ that represent directories.MyPath = "c:\"    ' Set the path.MyName = Dir(MyPath, vbDirectory)    ' Retrieve the first entry.Do While MyName <> ""    ' Start the loop.    ' Ignore the current directory and the encompassing directory.    If MyName <> "." And MyName <> ".." Then        ' Use bitwise comparison to make sure MyName is a directory.        If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then            Debug.Print MyName    ' Display entry only if it        End If    ' it represents a directory.    End If    MyName = Dir    ' Get next entry.Loop

Benötigen Sie weitere Hilfe?

Möchten Sie weitere Optionen?

Erkunden Sie die Abonnementvorteile, durchsuchen Sie Trainingskurse, erfahren Sie, wie Sie Ihr Gerät schützen und vieles mehr.

In den Communities können Sie Fragen stellen und beantworten, Feedback geben und von Experten mit umfassendem Wissen hören.