VBA DIR Funktion - Wie verwende ich die Excel VBA DIR-Funktion?

Inhaltsverzeichnis

Excel VBA DIR-Funktion

Die VBA-DIR- Funktion wird auch als Verzeichnisfunktion bezeichnet. Dies ist eine in VBA integrierte Funktion, mit der der Dateiname einer bestimmten Datei oder eines Ordners angegeben wird. Wir müssen jedoch den Pfad für die Datei und die von dieser zurückgegebene Ausgabe angeben Die Funktion ist eine Zeichenfolge, da sie den Namen der Datei zurückgibt. Für diese Funktion gibt es zwei Argumente: den Pfadnamen und die Attribute.

Die DIR-Funktion gibt den allerersten Dateinamen im angegebenen Ordnerpfad zurück. Wenn Sie beispielsweise in Ihrem D-Laufwerk einen Ordnernamen mit dem Namen 2019 haben und in diesem Ordner eine Excel-Datei mit dem Namen „2019 Sales“ haben, können Sie mithilfe der DIR-Funktion auf diese Datei zugreifen.

Die Funktion „VBA DIR“ ist sehr hilfreich, um den Namen der Datei mithilfe des Pfadordners abzurufen.

Syntax

Diese Funktion verfügt über zwei optionale Argumente.

  • ( Pfadname ): Wie der Name schon sagt, lautet der Pfad für den Zugriff auf die Datei. Dies kann auch der Name der Datei, der Name des Ordners oder des Verzeichnisses sein. Wenn kein Pfad zugewiesen ist, gebe ich einen leeren Zeichenfolgenwert zurück, z.
  • (Attribute): Dies ist auch ein optionales Argument, das Sie beim Codieren möglicherweise nicht sehr oft verwenden. Sie können das Attribut der Datei in (Pfadname) angeben , und die DIR-Funktion sucht nur nach diesen Dateien.

Beispiel: Wenn Sie nur auf versteckte Dateien zugreifen möchten, wenn Sie nur auf schreibgeschützte Dateien zugreifen möchten usw. … können wir in diesem Argument angeben. Nachfolgend sind die Attribute aufgeführt, die wir verwenden können.

Beispiele für die Verwendung der VBA DIR-Funktion

Beispiel 1 - Zugriff auf den Dateinamen mit der DIR-Funktion

Ich werde Ihnen das einfache Beispiel für den Zugriff auf den Dateinamen mit der DIR-Funktion erklären. Befolgen Sie die folgenden Schritte.

Schritt 1: Erstellen Sie einen Makronamen.

Schritt 2: Definieren Sie die Variable als String .

Code:

Sub Dir_Example1 () Dim MyFile As String End Sub

Schritt 3: Nun weisen wir dieser Variablen mithilfe der DIR-Funktion einen Wert zu .

Code:

Sub Dir_Example1 () Dim MyFile As String MyFile = Dir (End Sub

Schritt 4: Kopieren Sie nun den Dateiordnerpfad und fügen Sie ihn auf Ihrem Computer ein. Erwähnen Sie den Pfadnamen in doppelten Anführungszeichen.

Code:

Sub Dir_Example1 () Dim MyFile As String MyFile = Dir ("E: VBA Template End Sub

Schritt 5: Ich habe meinen Pfad zum Ordner erwähnt, jetzt müssen wir auch den Dateinamen und seine Erweiterung erwähnen. Um dies als erstes zu tun, müssen wir nach dem Pfad () einen Backslash setzen.

Nach Eingabe des Backslash müssen wir den vollständigen Dateinamen eingeben .

Code:

Sub Dir_Example1 () Dim MyFile As String MyFile = Dir ("E: VBA-Vorlage VBA Dir Excel Template.xlsm") End Sub

Schritt 6: Zeigen Sie den Wert der Variablen im Meldungsfeld an.

Code:

Sub Dir_Example1 () Dim MyFile As String MyFile = Dir ("E: VBA-Vorlage VBA Dir Excel Template.xlsm") MsgBox MyFile End Sub

Führen Sie nun den Code aus und sehen Sie, was das Ergebnis des Meldungsfelds ist.

Die DIR-Funktion gab also den Dateinamen mit der Dateierweiterung zurück.

Beispiel 2 - Öffnen Sie die Datei mit der DIR-Funktion

Wie öffnen wir nun die Datei? Diese Funktion kann den Dateinamen zurückgeben, aber das Öffnen dieser Datei ist ein etwas anderer Vorgang. Führen Sie die folgenden Schritte aus, um die Datei zu öffnen.

Schritt 1: Erstellen Sie zwei Variablen als String .

Code:

Sub Dir_Example2 () Dim FolderName As String Dim FileName As String End Sub

Schritt 2: Weisen Sie nun für die Variable FolderName den Ordnerpfad zu .

Code:

Sub Dir_Example2 () Dim FolderName As String Dim FileName As String FolderName = "E: VBA Template " End Sub

Schritt 3: Nun müssen wir für die Variable FileName den Dateinamen mithilfe der DIR-Funktion abrufen .

Code:

Sub Dir_Example2 () Dim FolderName As String Dim FileName As String FolderName = "E: VBA Template " FileName = Dir (End Sub

Schritt 4: Jetzt haben wir für den Pfadnamen bereits einen Pfad für die Variable FolderPath zugewiesen, sodass wir die Variable hier direkt angeben können.

Code:

Sub Dir_Example2 () Dim FolderName As String Dim FileName As String FolderName = "E: VBA Template " FileName = Dir (FolderName End Sub

Schritt 5: Jetzt müssen wir den Dateinamen angeben. Weisen Sie mithilfe des kaufmännischen Und-Symbols (&) den Dateinamen zu.

Code:

Sub Dir_Example2() Dim FolderName As String Dim FileName As String FolderName = "E:VBA Template " FileName = Dir(FolderName & "VBA Dir Excel Template.xlsm") End Sub

Step 6: Now use the WORKBOOKS.OPEN method.

Code:

Sub Dir_Example2() Dim FolderName As String Dim FileName As String FolderName = "E:VBA Template " FileName = Dir(FolderName & "VBA Dir Excel Template.xlsm") Workbooks.Open End Sub

Step 7: File Name is a combination of FolderPath & FileName. So combine these two.

Code:

Sub Dir_Example2() Dim FolderName As String Dim FileName As String FolderName = "E:VBA Template " FileName = Dir(FolderName & "VBA Dir Excel Template.xlsm") Workbooks.Open FolderName & FileName End Sub

Now run this code. It will open the mentioned file name.

Example #3 - Multiple Open Workbooks using DIR Function

Actually, we can access all the workbooks in the folder. In order to access each and every file, we cannot mention all the file names directly, but we can use the wildcard character to refer to the file.

The asterisk (*) is one of those wildcard characters. It identifies any number of characters. For example, if you want to access all the macro files in the folder, you can use the asterisk as the wildcard i.e., “*.xlsm*.”

Here * will match any file name with the extension of the file is equal to “xlsm.”

Code:

Sub Dir_Example3() Dim FolderName As String Dim FileName As String FolderName = "E:VBA Template " FileName = Dir(FolderName & "*.xlsm*") Do While FileName "" Workbooks.Open FolderName & FileName FileName = Dir() Loop End Sub

Now the above code will open all the files in the folder path.

FileName = Dir() the reason why I have used this line because, in order to access the next file in the folder, we have to make the existing file name to nil. The moment we make the existing file name to nil when the loop runs for the second time, it will take the next file in the folder.

Example #4 - Get all the File Names in the Folder

Suppose if you want the list of all the file names in the folder, we can also do this by using attributes.

Code:

Sub Dir_Example4 () Dim FileName As String FileName = Dir ("E: VBA-Vorlage ", vbDirectory) Do While FileName "" Debug.Print FileName FileName = Dir () Loop End Sub

Machen Sie das unmittelbare Fenster sichtbar, indem Sie Strg + G drücken .

Führen Sie nun den Code aus. Wir werden alle Dateinamen im unmittelbaren Fenster erhalten.

Interessante Beiträge...