Rückkehr in VBA-Code-Beispiele

VBA – Dateien in Ordner auflisten

In diesem Tutorial lernen Sie, wie Sie die Namen aller Dateien in einem Ordner ermitteln und in ein Arbeitsblatt einfügen können.

Wenn Sie stattdessen lernen wollen, wie Sie überprüfen können, ob eine Datei existiert, können Sie auf diesen Link klicken: VBA File Exists

Verwenden von FileSystemObject zum Abrufen der Liste von Dateien in einem Ordner

Mit VBA können Sie alle Dateien in einem Ordner auflisten, indem Sie das FileSystemObject verwenden.

Wir zeigen, wie Sie eine Liste der Dateien im Ordner „C:\VBA Folder“ abrufen und in die erste Spalte des Arbeitsblatts einfügen. Dieser Ordner besteht aus 5 Dateien, wie in Abbildung 1 dargestellt:

Abbildung 1. Dateien im Ordner „C:\VBA_Ordner“

Hier ist der Code:

Sub DateienDurchlaufen ()

Dim oFSO As Object
Dim oOrdner As Object
Dim oDatei As Object
Dim i As Integer

Set oFSO = CreateObject("Scripting.FileSystemObject")

Set oOrdner = oFSO.GetFolder("C:\VBA_Ordner")

For Each oDatei In oOrdner.Files

    Cells(i + 1, 1) = oDatei.Name

    i = i + 1

Next oDatei

End Sub

Im Beispiel wird zunächst ein Objekt der Klasse Scripting.FileSystemObject erstellt :

Set oFSO = CreateObject("Scripting.FileSystemObject")

 

Dann setzen Sie den Ordner mit der Methode GetFolder:

Set oOrdner = oFSO.GetFolder("C:\VBA_Ordner")

 

Als Nächstes durchlaufen Sie jede Datei in oOrdner in einer Schleife und verwenden Sie oDatei.Name, um den Namen jeder Datei im Ordner zu ermitteln und in die nächste leere Zeile zu schreiben:

For Each oDatei In oOrdner.Files

    Cells(i + 1, 1) = oDatei.Name
    i = i + 1

Next oDatei

dateien in arbeitsblatt auflisten

Abbildung 2. Arbeitsblatt mit der Liste der Dateien im Ordner

Wie Sie in Abbildung 2 sehen können, sind alle 5 Dateien aus dem Ordner C:\VBA_Ordner in der ersten Spalte aufgeführt.

VBA Coding Made Easy

Stop searching for VBA code online. Learn more about AutoMacro - A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users! vba save as


Learn More!