Vba: so listen sie dateien in einem ordner auf


Sie können in VBA die folgenden Methoden verwenden, um Dateien in einem Ordner aufzulisten:

Methode 1: Alle Dateien im Ordner auflisten

 SubListFiles ()

Dim i As Integer
Dim oFSO As Object
Dim oFolder As Object
Dim objFile As Object

Set oFSO = CreateObject("Scripting.FileSystemObject")

Set oFolder = oFSO.GetFolder("C:\Users\bob\Documents\current_data")

For Each objFile In oFolder.Files
    Cells(i + 1, 1) = objFile.Name
    i = i + 1
Next objFile

End Sub

Methode 2: Nur XLSX-Dateien im Ordner auflisten

 SubListFiles ()

Dim i As Integer
Dim oFSO As Object
Dim oFolder As Object
Dim objFile As Object

Set oFSO = CreateObject("Scripting.FileSystemObject")

Set oFolder = oFSO.GetFolder("C:\Users\bob\Documents\current_data")

For Each objFile In oFolder.Files
    If Right(objFile.Name, 4) = "xlsx" Then
        Cells(i + 1, 1) = objFile.Name
        i = i + 1
    End If
Next objFile

End Sub

Die folgenden Beispiele zeigen, wie Sie jede Methode in der Praxis mit einem Ordner verwenden, der den folgenden Dateipfad hat:

  • C:\Benutzer\bob\Dokumente\aktuelle_Daten

Der Ordner enthält zwei XLSX- Dateien und drei CSV- Dateien:

Beispiel 1: Alle Dateien im Ordner auflisten

Wir können das folgende Makro erstellen, um alle Dateien im Ordner aufzulisten:

 SubListFiles ()

Dim i As Integer
Dim oFSO As Object
Dim oFolder As Object
Dim objFile As Object

Set oFSO = CreateObject("Scripting.FileSystemObject")

Set oFolder = oFSO.GetFolder("C:\Users\bob\Documents\current_data")

For Each objFile In oFolder.Files
    Cells(i + 1, 1) = objFile.Name
    i = i + 1
Next objFile

End Sub

Wenn wir dieses Makro ausführen, erhalten wir die folgende Ausgabe:

Wir können sehen, dass die Namen aller Dateien im Ordner (unabhängig von ihrer Erweiterung) jetzt in Spalte A unserer Excel-Tabelle aufgeführt sind.

Beispiel 2: Nur XLSX-Dateien im Ordner auflisten

Wir können das folgende Makro erstellen, um nur Dateien im Ordner aufzulisten, die die Erweiterung .xlsx haben:

 SubListFiles ()

Dim i As Integer
Dim oFSO As Object
Dim oFolder As Object
Dim objFile As Object

Set oFSO = CreateObject("Scripting.FileSystemObject")

Set oFolder = oFSO.GetFolder("C:\Users\bob\Documents\current_data")

For Each objFile In oFolder.Files
    If Right(objFile.Name, 4) = "xlsx" Then
        Cells(i + 1, 1) = objFile.Name
        i = i + 1
    End If
Next objFile

End Sub

Wenn wir dieses Makro ausführen, erhalten wir die folgende Ausgabe:

Wir können sehen, dass jetzt nur noch die Namen der Dateien mit der Erweiterung .xlsx im Ordner in Spalte A unserer Excel-Tabelle aufgeführt sind.

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in VBA ausführen:

So erstellen Sie Ordner mit VBA
So löschen Sie Ordner mit VBA
So benennen Sie eine Datei mit VBA um
So überprüfen Sie mit VBA, ob eine Datei vorhanden ist

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert