In diesem Tutorial erfahren Sie, wie Sie die Namen aller Dateien in einem Ordner abrufen und in ein Arbeitsblatt einfügen.
Wenn Sie stattdessen erfahren möchten, wie Sie überprüfen können, ob eine Datei vorhanden ist, können Sie auf diesen Link klicken: VBA File Exists
Verwenden des FileSystemObject zum Abrufen der Liste der Dateien in einem Ordner
Mit VBA können Sie alle Dateien aus einem Ordner auflisten, indem Sie die FileSystemObject.
Wir zeigen, wie Sie eine Liste der Dateien im Ordner erhalten C:\VBA-Ordner und füge es in die erste Spalte des Arbeitsblatts ein. Dieser Ordner besteht aus 5 Dateien, wie in Abbildung 1 gezeigt:
Bild 1. Dateien im Ordner C:\VBA Folder
Hier ist der Code:
1234567891011121314151617181920 | Sub LoopThroughFiles ()oFSO als Objekt dimmenoFolder als Objekt dimmenoDatei als Objekt dimmenDim i As IntegerSet oFSO = CreateObject("Scripting.FileSystemObject")Set oFolder = oFSO.GetFolder("C:\VBA-Ordner")Für jede oFile in oFolder.FilesZellen(i + 1, 1) = oFile.Nameich = ich + 1Nächste oDateiEnd Sub |
Erstellen Sie im Beispiel zunächst ein Objekt der Klasse Scripting.FileSystemObject:
1 | Set oFSO = CreateObject("Scripting.FileSystemObject") |
Legen Sie dann den Ordner mit der Methode . fest GetFolder:
1 | Set oFolder = oFSO.GetFolder("C:\VBA-Ordner") |
Nächste Schleife durch jede Datei in oOrdner, mit oDatei.Name zu Rufen Sie den Namen jeder Datei im Ordner ab und schreiben Sie ihn in die nächste leere Zeile:
123456 | Für jede oFile in oFolder.FilesZellen(i + 1, 1) = oFile.Nameich = ich + 1Nächste oDatei |
Bild 2. Arbeitsblatt mit der Liste der Dateien im Ordner
Wie Sie in Bild 2 sehen können, sind alle 5 Dateien aus dem C:\VBA-Ordner in der ersten Spalte aufgelistet.