Verzeichnis auslesen in Excel mit VBA
Schritt-für-Schritt-Anleitung
- VBA-Editor öffnen: Drücke
ALT + F11, um den VBA-Editor zu öffnen.
- Neues Modul einfügen: Klicke mit der rechten Maustaste auf "VBAProject (deineDatei.xlsx)" > Einfügen > Modul.
- Code eingeben: Füge den folgenden Code in das Modul ein, um die Ordnerstruktur auszulesen:
Option Explicit
Dim fso, FO, FU, F
Dim lRow As Long
Dim icol As Integer
Public Sub Ordner_Auflisten()
Set fso = CreateObject("Scripting.FileSystemObject")
icol = 0
lRow = 0
GetSubFolders "C:\DeinPfad" ' Passe den Pfad an
End Sub
Function GetSubFolders(Pfad)
Set FO = fso.getfolder(Pfad)
Set FU = FO.subfolders
On Error Resume Next
For Each F In FU
lRow = lRow + 1
icol = icol + 1
Cells(lRow, icol) = F.Name
Cells(lRow, icol + 1) = F.Size ' Größe in Byte
GetSubFolders F.Path
Next
icol = icol - 1
End Function
- Makro ausführen: Schließe den VBA-Editor und gehe zurück zu Excel. Führe das Makro
Ordner_Auflisten aus, um die Verzeichnisstruktur in Excel anzuzeigen.
Häufige Fehler und Lösungen
- Objekt erforderlich: Achte darauf, dass der Pfad korrekt ist und dass du die Microsoft Scripting Runtime in den Verweisen aktiviert hast.
- Fehlermeldung beim Ausführen: Wenn du eine Fehlermeldung erhältst, überprüfe, ob der angegebene Ordner existiert und ob du die richtigen Berechtigungen hast.
- Keine Daten angezeigt: Stelle sicher, dass der Pfad zu einem Verzeichnis führt, das Unterordner enthält.
Alternative Methoden
Wenn du kein VBA verwenden möchtest, kannst du auch die Funktion DIR nutzen, um Dateien und Ordner in Excel auszulesen. Hier ein Beispiel:
Sub VerzeichnisAuslesen()
Dim Ordner As String
Dim Datei As String
Dim Zeile As Integer
Ordner = "C:\DeinPfad\"
Datei = Dir(Ordner & "*.*")
Zeile = 1
Do While Datei <> ""
Cells(Zeile, 1).Value = Datei
Zeile = Zeile + 1
Datei = Dir
Loop
End Sub
Praktische Beispiele
Hier sind einige Anwendungsbeispiele, wie du die Excel VBA Ordnerstruktur auslesen kannst:
- Ordner und Unterordner: Mit dem oben angegebenen Code kannst du alle Unterordner und ihre Größen in einem bestimmten Verzeichnis auflisten.
- Daten in einer Datei speichern: Du kannst die Ausgabe auch in eine Textdatei speichern, indem du die
FileSystemObject-Methode anwendest.
Tipps für Profis
- Verwendung von Funktionen: Erstelle eigene Funktionen, um spezifische Daten wie Dateigröße oder Erstellungsdatum abzurufen.
- Fehlerbehandlung: Implementiere
On Error GoTo zur besseren Fehlerbehandlung.
- Dynamische Pfade: Lasse den Benutzer einen Ordner auswählen, indem du
Application.FileDialog verwendest.
FAQ: Häufige Fragen
1. Kann ich auch Netzlaufwerke auslesen?
Ja, du kannst auch Netzlaufwerke auslesen, solange du die richtigen Berechtigungen hast und den richtigen Pfad angibst.
2. Wie kann ich die Größe in MB oder GB anzeigen?
Um die Größe in MB oder GB anzuzeigen, teile die Byte-Größe durch 1024 (für MB) oder durch 1048576 (für GB).
3. Was mache ich, wenn der Code nicht funktioniert?
Überprüfe die Pfadangaben und stelle sicher, dass die Microsoft Scripting Runtime in den Verweisen aktiviert ist.