Dir Beschreibung
Gibt den ersten Dateinamen zurück, der dem angegebenen Pfadnamen und den angegebenen Attributen entspricht.
Einfache Dir-Beispiele
1 | MsgBox Dir("") |
Dies gibt den ersten Dateinamen im aktuellen Pfad zurück.
Dir-Syntax
Im VBA-Editor können Sie „Dir(“ eingeben, um die Syntax für die Dir-Funktion anzuzeigen:
Die Dir-Funktion enthält 2 Argumente:
Pfadname: [Optional] Ein Zeichenfolgenausdruck, der ein Verzeichnis/einen Ordner/ein Laufwerk darstellt.
Attribut: [Optional] Gibt Dateiattribute an. Wenn weggelassen, werden Dateien zurückgegeben, die mit dem Pfadnamen übereinstimmen, aber keine Attribute haben.
Die Attribut Argumenteinstellungen 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. |
vbVersteckt | 2 | Gibt zusätzlich zu Dateien ohne Attribute versteckte Dateien an. |
vbSystem | 4 | Gibt Systemdateien zusätzlich zu Dateien ohne Attribute an. Auf dem Macintosh nicht verfügbar. |
vbVolume | 8 | Gibt Datenträgerbezeichnung an; wenn ein anderes Attribut angegeben ist,vbVolume wird ignoriert. Auf dem Macintosh nicht verfügbar. |
vbVerzeichnis | 16 | Gibt neben Dateien ohne Attribute auch Verzeichnisse oder Ordner an. |
vbAlias | 64 | Der angegebene Dateiname ist ein Alias. Nur auf dem Macintosh verfügbar. |
VBA-Programmierung | Code Generator arbeitet für Sie!
Beispiele für Excel VBA Dir-Funktion
Um die Ordner und Dateien auf Laufwerk C aufzulisten, können Sie den folgenden Code verwenden.
123456789101112131415161718192021222324 | Unterverzeichnis_Beispiel()Dim fileName As StringDim fullName As StringDim rng As RangeDim i As IntegerSetze rng = Range("A1")fileName = Dir("C:\", vbDirectory)ich = 1TunfullName = "C:\" & Dateinamerng.Offset(i, 0) = Dateinamerng.Offset(i, 1) = FileDateTime(fullName)rng.Offset(i, 2) = FileLen(fullName)rng.Offset(i, 3) = GetAttr(fullName)fileName = DirIf fileName = "" Then Exit Doich = ich + 1SchleifeEnd Sub |
Das Ergebnis wird mit dem folgenden ähnlich sein.
VBA Dir-Funktion in Access VBA
Die VBA Dir-Funktion funktioniert in Access VBA genauso wie in Excel VBA.
123456789 | Funktion CreateDirectory(strP As String) As BooleanWenn Len(Dir(strP, vbDirectory)) = 0 DannMkDir strPEnde WennCreateDirectory = TrueExit-FunktionEnde:CreateDirectory = FalseEndfunktion |