Inhaltsverzeichnis
Die DIR Funktion in VBA zeigt hauptsächlich das Verzeichnis oder die Dateien eines bestimmten Ordners an. Mit dieser Funktion kann auch die erste Datei zurückgegeben werden. Diese Funktion ist vielseitig einsetzbar, um bestimmte Dateien und Ordner zu erhalten. Sie müssen nur den Dateipfad in den Pfadnamen der Funktion VBA Es kann schwieriger sein, den Code zu verwenden. VBA DIR Keine Sorge, in diesem Artikel werden wir Ihnen einige Beispiele für eine bessere Visualisierung der Verwendung des Codes zeigen. VBA DIR Ich hoffe, dass Sie die Funktion nach der Lektüre des Artikels verwenden können. Also, fangen wir an.
Download Arbeitsbuch Praxis
Laden Sie das folgende Übungsbuch herunter, das Ihnen helfen wird, das Thema besser zu verstehen.
DIR-Funktion.xlsmEinführung in die Funktion DIR
Zusammenfassung:
Die VBA DIR gibt den Namen einer Datei oder eines Verzeichnisses aus einem gegebenen Ordnerpfad zurück, üblicherweise die erste Datei.
Syntax:
Dir [ (Pfadname, [ Attribute ] ) ]
Argumente Erläuterung:
Argument | Erforderlich/Optional | Erläuterung |
---|---|---|
Pfadname | Optional | Pfad zugreifen und gibt die Datei |
Attribute | Optional | Konstante oder numerischer Ausdruck gibt die Attribute der passenden Dateien an |
Es gibt einige vordefinierte Attribute, sie sind
Attribut Name | Beschreibung |
---|---|
vbNormal | Dateien ohne spezifische Attribute |
vbReadOnly | Nur-Lese-Dateien ohne Attribute |
vbHidden | Versteckte Dateien ohne Attribute |
vbSystem | Systemdateien ohne Attribute |
vbVolume | Band-Etikett |
vbDirectory | Verzeichnisse oder Verzeichnisse ohne Attribute |
vbAlias | Angegebener Dateiname ist ein Alias |
7 Beispiele für die Verwendung der VBA-Funktion DIR in Excel
Aus der Beschreibung hätte man schließen können, dass die VBA DIR liefert den Dateinamen aus dem angegebenen Pfadnamen. Wir wollen das an einem Beispiel erläutern. Hier haben wir ein Verzeichnis erstellt Exceldemy_Ordner In diesem Ordner befinden sich verschiedene kleine Ordner und Dateien.
1. den Dateinamen im Pfad suchen
In unserem Ordner können wir eine bestimmte Datei finden, indem wir den Pfad des Dateinamens angeben.
Nachdem Sie den Pfad der Datei kopiert haben, müssen Sie den Code ausführen.
Gehen Sie deshalb auf die Seite Entwickler tab>> auswählen Visual Basic Dann gehen Sie zu einfügen. tab>> auswählen Modul. In der Allgemein Dialogfeldes schreiben wir den Code.
Da unser Ziel darin besteht, die Dateiname aus dem Pfadnamen, setzen wir den vollständigen Pfadnamen (vom Stammverzeichnis bis zur Datei) und unser Code lautet
Sub FileNames() Dim FN As String FN = Dir("E:\Exceldemy\Sales_of_January.xlsx") MsgBox FN End Sub
Hier in unserem Code haben wir den Pfadnamen als E:\Exceldemy\Umsatz_von_Januar.xlsx
Code-Aufschlüsselung:
- Zunächst haben wir eine String-Variable namens FN Und die Ausgabe des Dir. Funktion wurde in dieser Variablen gespeichert.
- Als nächstes wird die Dir. findet den Dateinamen und gibt ihn unter dem angegebenen Pfad zurück.
- Dann wird die MsgBox setzt die Ausgabe über die Messagebox. Die MsgBox gibt die Ausgabe in einem Meldungsfenster zurück.
- Führen Sie dann den Code mit der Option F5 Schlüssel.
Schließlich haben wir die Datei mit dem Namen Umsatz_im_Januar.xlsx .
2. das Vorhandensein eines Verzeichnisses prüfen
Wir können das Vorhandensein eines Verzeichnisses überprüfen, indem wir die Dir. Schreiben wir den Code, um zu prüfen, ob die Funktion Exzellent Schreiben Sie den folgenden Code in den allgemeinen Kasten und führen Sie ihn mit dem Befehl F5 Schlüssel.
Sub CheckFile() Dim PN As String Dim File As String PN = "E:\Exceldemy" File = Dir(PN, vbDirectory) If File "" Then MsgBox File & " exists" Else MsgBox "The file doesn't exist" End If End Sub
Code-Aufschlüsselung:
- Wir haben zwei Variablen deklariert; PN enthält den vollständigen Pfadnamen unseres Prüfverzeichnisses.
- Hier im Dir Funktion haben wir zwei Werte gesetzt, den Pfadnamen und den Attributwert als vbDirectory Dieser Attributwert hilft bei der Erkennung des Verzeichnisses. Und die Ausgabe dieser Funktion wird in der Datei Datei variabel.
- Dann wird geprüft, ob die Variable leer ist oder nicht. Wenn dies nicht der Fall ist, wird das Vorhandensein des Verzeichnisses in einem Meldungsfeld angezeigt, andernfalls ist die Rückgabe nicht vorhanden.
Hier ist die Exzellent Verzeichnis existiert, also finden wir " Exzellenz existiert ", wobei Exzellent ist der Name des Ordners.
3. einen Ordner erstellen, der nicht vorhanden ist
Sie können einen Ordner erstellen, der auf Ihrem PC nicht existiert. Dazu müssen Sie einen Pfadnamen erstellen, der in Ihren Ordnern nicht existiert. Nehmen wir an, wir erstellen ein Verzeichnis namens Exceldemy_1 Wir werden die MkDir Befehl, um das Verzeichnis zu erstellen, aber vorher müssen wir folgendes schreiben VBA Code.
Sub CheckFile() Dim PN As String Dim File As String PN = "E:\Exceldemy_1" File = Dir(PN, vbDirectory) If File "" Then MsgBox File & " File folder exists" Else MkDir PN MsgBox "A file folder has been created with the name" & File End If End Sub
Hier haben wir einen Befehl geschrieben, der das Verzeichnis mit dem Pfadnamen aus der Datei Sonst Block unseres Codes. Führen Sie aus. den Code mit dem F5 Schlüssel.
Das Verzeichnis wurde erstellt. Schauen wir uns das Verzeichnis an. Der Exceldemy_1 ist nun auf Ihrem Computer sichtbar.
Ähnliche Lektüre:
- Wie man ein Sub in VBA in Excel aufruft (4 Beispiele)
- Einen Wert in einer VBA-Funktion zurückgeben (sowohl Array- als auch Nicht-Array-Werte)
- Verwendung der VBA-Funktion UCASE in Excel (4 Beispiele)
- Verwendung der TRIM-Funktion in VBA in Excel (Definition + VBA-Code)
4. die erste Datei in einem Verzeichnis suchen
Die Hauptaufgabe der Dir. Funktion ist es, die erste Datei im angegebenen Verzeichnis zu finden. Alles, was Sie innerhalb der Funktion angeben müssen, ist der Pfadname (bis zum Container-Verzeichnis), und sie wird die allererste Datei aus diesem Verzeichnis zurückgeben.
Lassen Sie uns die erste Datei aus unserer Exzellent Unser Code wird sein
Sub FirstFileinFolder() Dim FN As String Dim PN As String PN = "E:\Exceldemy\" FN = Dir(PN) MsgBox "Erste Datei: " & FN End Sub
Sie können den grundlegenden Code sehen; wir haben den Pfadnamen an die Dir. Funktion: Jetzt ausführen. den Code mit dem F5 drücken, finden Sie die erste Datei in diesem Verzeichnis.
5. alle Dateien in einem Verzeichnis suchen
Im vorigen Abschnitt haben wir gesehen, wie man den ersten Dateinamen eines Verzeichnisses findet. Es kann vorkommen, dass Sie alle Dateien eines bestimmten Verzeichnisses suchen müssen. Um alle Dateien in einem bestimmten Verzeichnis zu finden, müssen Sie Folgendes schreiben VBA Code.
Sub AllFile() Dim FN As String Dim FL As String FN = Dir("E:\Exceldemy\") Do While FN "" FL = FL & vbNewLine & FN FN = Dir() Loop MsgBox ("File List:" & FL) End Sub
Hier sind zwei Variablen, die die Dateinamen als eine einzige ( FN ), und als Liste ( FL ). die Do While Schleife durchläuft, bis keine Datei mehr im Verzeichnis vorhanden ist, mit dieser Schleife schieben wir jeden Dateinamen in die FL variabel.
Führen Sie den Code aus, und Sie finden alle Dateien in dem Verzeichnis, wie in der folgenden Abbildung dargestellt.
6. alle Dateien und Ordner in einem Verzeichnis suchen
Im vorigen Abschnitt haben wir erwähnt, wo alle Dateien zu finden sind. Wir können auch alle Unterordner eines Ordners finden. Dazu schreiben Sie Folgendes VBA Code, den wir unten beigefügt haben.
Sub AllFileFolders() Dim AN As String Dim Lst As String AN = Dir("E:\Exceldemy_Folder\", vbDirectory) Do While AN "" Lst = Lst & vbNewLine & AN AN = Dir() Loop MsgBox ("Datei Lst:" & Lst) End Sub
Die Änderung in unserem Code besteht lediglich in der Verwendung von Attributparametern. Wir haben die vbDirectory in diesem Bereich. ausführen. den Code, und Sie finden alle Dateien und Unterordner von Exceldemy_Ordner .
7. alle Dateien eines bestimmten Typs suchen
Die Verwendung des VBA-Leiter können wir jeden beliebigen Dateityp finden, was wir an einem Beispiel erläutern wollen.
Wir werden finden .csv Unser Code sieht dann wie folgt aus.
Sub SpecialTypeFiles() Dim FL As String Dim FN As String FN = Dir("E:\Exceldemy_Folder\Exceldemy\*.csv") Do While FN "" FL = FL & vbNewLine & FN FN = Dir() Loop MsgBox ("Liste der .csv-Dateien:" & FL) End Sub
Wir hoffen, Sie haben den Code verstanden, der einen ähnlichen Mechanismus zum Auffinden von Dateien verwendet. Im Pfadnamen haben wir einen Platzhalter ( * ). Dieses Sternchen (*) bedeutet, dass jedes Zeichen bis zu einer beliebigen Zahl vorkommen kann. Der Platzhalter wurde so verwendet, dass der Dateiname beliebig sein kann, aber eine .csv Datei.
Wenn Sie den Code ausführen, gibt er die .csv Dateien aus unserem Exzellent Verzeichnis.
Praxisteil
Wir haben auf jedem Blatt auf der rechten Seite einen Übungsteil vorgesehen, den Sie bitte selbständig bearbeiten.
Schlussfolgerung
Das ist alles über die heutige Sitzung. Und dies sind einige einfache Beispiele für die VBA-Leiter Bitte lassen Sie uns in den Kommentaren wissen, wenn Sie Fragen oder Anregungen haben. Zum besseren Verständnis laden Sie bitte das Übungsblatt herunter und besuchen Sie unsere Website, Exzellent , einem Anbieter von Excel-Lösungen aus einer Hand, um sich über verschiedene Excel-Methoden zu informieren. Vielen Dank für Ihre Geduld beim Lesen dieses Artikels.