Excel VBA DIR-Funktion

Dir ist eine der in VBA verfügbaren Funktionen. Die Dir-Funktion dient zum Verweisen auf Verzeichnisse in VBA-Code.
Die Funktion, die den Datei- oder Verzeichnisnamen zurückgibt, der mit dem angegebenen Attribut oder der angegebenen Zeichenfolge übereinstimmt, gibt ansonsten die erste Datei oder den ersten Ordner zurück. Mit einfachen Worten, wenn wir einen Ordner ABC haben und in ABC eine Datei XYZ ist, können wir mit der DIR-Funktion in VBA auf die XYZ-Datei zugreifen.

Formel für die DIR-Funktion in Excel VBA

Die DIR-Funktion hat in Excel VBA die folgende Syntax:

Es besteht aus zwei Teilen: Pfadname und Attribute.

  • Pfadname: Unter dem Namen versteht jeder, dass es sich um den Pfad der Datei handelt, in der sich die Datei tatsächlich befindet. Wenn wir in pathname keinen Pfad eingeben, wird eine leere Zeichenfolge zurückgegeben.
  • Attribut: Es ist ein optionales Argument, von dem wir nicht viel verwenden. Wir können dies verwenden, wenn wir die Datei mit den folgenden Attributen öffnen möchten, dann sucht VBA nach diesen Dateien.
vbArchivGibt Archive oder Sicherungsdateien an.
vbNormalNormal (Standard) oder keine Attribute.
vbReadOnlyschreibgeschützte Dateien
vbSystemSystemdateien
vbVolumeDatenträgerbezeichnung; Wenn Sie mit diesem Attribut ein anderes Attribut verwenden, wird die Datenträgerbezeichnung ignoriert.
vbDirectoryVerzeichnisse oder Ordner.
vbHiddenversteckte Dateien
vbAliasDateiname ist ein Alias

Wie verwende ich die DIR-Funktion in Excel VBA?

Im Folgenden finden Sie verschiedene Beispiele für die Verwendung der DIR-Funktion in Excel mithilfe von VBA-Code.

Sie können diese VBA DIR Excel-Vorlage hier herunterladen - VBA DIR Excel-Vorlage

VBA-DIR-Funktion - Beispiel 1

In diesem Beispiel wird gezeigt, wie mit der DIR-Funktion in VBA auf einen Dateinamen zugegriffen wird.

Schritt 1: Gehen Sie zur Registerkarte Entwickler und klicken Sie auf Visual Basic

Schritt 2: Öffnen Sie ein Modul über die Menüoption Einfügen (siehe unten).

Schritt 3: Um ein Makro zu starten, müssen Sie dem Makro zunächst einen Namen mit dem Schlüsselwort 'sub' geben (siehe unten).

Code:

 Sub myexample1 () End Sub 

Denken Sie daran, dass wir unseren Code in "Module1" schreiben, wenn wir "sub myexample ()" eingeben, wird automatisch "End sub" angezeigt.

Schritt 4: Definieren Sie eine Zeichenfolge mit dem Schlüsselwort " Dim ", das sich auf die Dimension bezieht. Im folgenden Screenshot ist "mystring" der Name der Zeichenfolge.

Code:

 Sub myexample1 () Mystring als Stringende dimmen Sub 

Denken Sie daran, dass zwischen zwei Wörtern kein Leerzeichen stehen darf, wenn Sie die Namen von Datentypen oder Programmnamen definieren. "Mystring" kein Leerzeichen zwischen "my" und "string".

Die Datei befindet sich im Beispielordner, der auf dem Desktop verfügbar ist, und der Dateiname lautet „KT tracker mine“.

C: \ Users \ cba_13 \ Desktop \ Sample \

Schritt 5: Jetzt müssen wir den Dateinamen mit der Dir-Funktion in "mystring" speichern.

Code:

 Sub myexample1 () Mystring dimmen als String mystring = Dir ("C: \ Users \ cba_13 \ Desktop \ Sample \") End Sub 

Im obigen Screenshot in Dir-Funktion habe ich den Dateipfad ohne Dateinamen angegeben. Da es nur eine Datei gibt, wird der Dateiname zurückgegeben.

Schritt 6: Nun wird mit dem obigen Schritt der Dateiname in der Zeichenkette "mystring" gespeichert. Um den Dateinamen anzuzeigen, müssen wir ihn über ein Meldungsfeld anzeigen. Erstellen Sie ein Meldungsfeld.

Code:

 Sub myexample1 () Mystring dimmen als String mystring = Dir ("C: \ Users \ cba_13 \ Desktop \ Sample \") MsgBox (mystring) End Sub 

Wir gaben die Anweisung, die Daten in "mystring" über das Meldungsfeld anzuzeigen, da "mystring" den Dateinamen hat, wird der Dateiname über das Meldungsfeld angezeigt.

Schritt 7: Führen Sie nun den Code aus, indem Sie auf die Wiedergabetaste klicken oder die Taste F5 drücken.

VBA-DIR-Funktion - Beispiel 2

In diesem Beispiel wird gezeigt, wie eine Datei mit der DIR-Funktion in Excel VBA geöffnet wird.

Schritt 1: Öffnen Sie den VBA-Code-Bildschirm und geben Sie als Programmnamen „example2“ oder einen beliebigen Namen ein.

Code:

 Sub example2 () End Sub 

Schritt 2: Definieren Sie zwei Zeichenfolgen mit den Namen "Ordnername" und "Dateiname".

Code:

 Sub example2 () Dim Foldername As String Dim Dateiname As String End Sub 

Schritt 3: Ordnen Sie nun den Ordnerpfad dem Ordnernamen zu.

Code:

 Sub example2 () Dim Foldername As String Dim Filename As String Foldername = "C: \ Users \ cba_13 \ Desktop \ Sample \" End Sub 

Schritt 4: Weisen Sie die Datei mit der Dir-Funktion dem Dateinamen zu. Hier haben wir die Variable "Foldername" verwendet, da sie den Ordnerpfad enthält. Mit Hilfe von Et-Zeichen haben wir den Dateinamen zum Pfad hinzugefügt.

Code:

 Sub example2 () Dim Foldername As String Dim Filename As String Foldername = "C: \ Users \ cba_13 \ Desktop \ Sample \" Dateiname = Dir (Ordnername & "KT Tracker mine.xlsx") End Sub 

Die Dir-Funktion gibt nun den Dateinamen zurück und speichert ihn in der Variablen "Dateiname".

Schritt 5: Im vorherigen Beispiel haben wir das Meldungsfeld verwendet, um die Ergebnisse anzuzeigen. In diesem Fall möchten wir die Datei öffnen und verwenden daher den Befehl „workbooks.open“.

Code:

 Sub example2 () Dim Foldername As String Dim Filename As String Foldername = "C: \ Users \ cba_13 \ Desktop \ Sample \" Dateiname = Dir (Ordnername & "KT Tracker mine.xlsx") Workbooks.Open Foldername & Filename End Sub 

Schritt 6: Führen Sie den obigen Code aus, um die Datei zu öffnen, die im Ordner „C: \ Users \ cba_13 \ Desktop \ Sample \“ mit dem Dateinamen „KT Tracker mine“ verfügbar ist.

VBA-DIR-Funktion - Beispiel # 3

Jetzt wird das Programm sehen, ob ein Ordner verfügbar ist oder nicht. Ich habe den Ordner "Daten" wie unten gezeigt.

Wir müssen mit Hilfe der Dir-Funktion prüfen, ob der Ordner "Data" im Pfad C: \ Users \ cba_13 \ Desktop \ Sample \ verfügbar ist.

Schritt 1: Erstellen Sie einen Programmnamen und definieren Sie zwei Zeichenfolgen mit den Namen FD und FD1.

Code:

 Sub example3 () Dim Fd als String Dim Fd1 als String End Sub 

Schritt 2: Ordnen Sie den Ordnerpfad der Variablen „Fd“ zu.

Code:

 Sub example3 () Dim Fd als String Dim Fd1 als String Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data" End Sub 

Schritt 3: Verwenden Sie jetzt die Dir-Funktion, um den Ordnernamen wie unten gezeigt zurückzugeben.

Code:

 Sub example3 () Dim Fd als Zeichenfolge Dim Fd1 als Zeichenfolge Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) End Sub 

Das Ergebnis der Dir-Funktion sollte der Ordnername sein und in der Zeichenfolgenvariablen Fd1 gespeichert werden. Wenn der Ordner „Data“ im jeweiligen Ordner nicht verfügbar ist, wird keine Zeichenfolge zurückgegeben.

Schritt 4: Jetzt müssen wir prüfen, ob Fd1 einen „Data“ -Ordner hat oder nicht. Verwenden Sie die IF-Bedingung, um zu überprüfen, ob Fd1 die Zeichenfolge „Data“ enthält. Wenn es verfügbar ist, drucken Sie die Anweisung als "Exists".

Code:

 Sub example3 () Dim Fd As String Dim Fd1 As String Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) Wenn Fd1 = "Data", wird MsgBox ("Exits") beendet Sub 

Schritt 5: Falls Fd1 nicht mit dem Ordner "Data" übereinstimmt, wird die Anweisung "Not Exists" in else-Bedingung gedruckt.

Code:

 Sub example3 () Dim Fd As String Dim Fd1 As String Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) Wenn Fd1 = "Data", dann MsgBox ("Exits") Else MsgBox ("Not Exits") End Sub 

Schritt 6: Beenden Sie die "If" -Schleife wie im folgenden Screenshot gezeigt.

Code:

 Sub example3 () Dim Fd As String Dim Fd1 As String Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) Wenn Fd1 = "Data", dann MsgBox ("Exits") Else MsgBox ("Not Exits") End If End Sub 

Schritt 7: Führen Sie den Code aus, indem Sie die Taste F5 drücken oder auf die Schaltfläche Wiedergabe klicken, um zu überprüfen, ob der Ordner verfügbar ist oder nicht. Wenn der Ordner "Data" in diesem Ordner verfügbar ist, wird das Meldungsfeld mit der Meldung "Exists" wie unten angezeigt.

Schritt 8: Ändern Sie einfach den Namen des Ordners als Data1.

 Sub example3 () Dim Fd As String Dim Fd1 As String Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data1" Fd1 = Dir (Fd, vbDirectory) Wenn Fd1 = "Data", dann MsgBox ("Exits") Else MsgBox ("Not Exits") End If End Sub 

Schritt 9: Führen Sie den Code erneut aus. Jetzt lautet das Ergebnis "Nicht vorhanden" (siehe unten).

Dinge, an die man sich erinnern sollte

  • Die Argumente in der Dir-Funktion sind optional.
  • Wenn wir versteckte Dateien, Ordner oder andere Arten von Verzeichnissen wünschen, erwähnen Sie Ihre Anforderung im zweiten Argument.
  • Verwenden Sie "\" am Ende des Ordnernamens, während Sie die Dir-Funktion eingeben, um in den Ordner zu gelangen.
  • Wenn wir mehrere Dateien aufrufen oder öffnen möchten, können wir das Platzhalterzeichen "*" oder "?" Verwenden.

Empfohlene Artikel

Dies ist eine Anleitung zur VBA-DIR-Funktion. Hier diskutieren wir die Verwendung der DIR-Funktion in Excel VBA zusammen mit einigen praktischen Beispielen und einer herunterladbaren Excel-Vorlage. Sie können auch unsere anderen Artikelvorschläge durchgehen -

  1. VBA-Arbeitsmappe
  2. INDIREKTE Funktion in Excel
  3. VBA Count
  4. Excel XOR-Funktion

Kategorie: