Verzeichnisse in Excel auslesen und bearbeiten
Schritt-für-Schritt-Anleitung
Um die Verzeichnisse in Excel auszulesen und zu bearbeiten, kannst du den folgenden VBA-Code verwenden. Dieser Code hilft dir dabei, die Verzeichnisstruktur auszulesen und in Excel darzustellen.
-
Öffne Excel und erstelle ein neues Arbeitsblatt.
-
Drücke ALT + F11, um den VBA-Editor zu öffnen.
-
Füge ein neues Modul hinzu: Rechtsklick auf "VBAProject (DeineDatei.xlsx)" > Einfügen > Modul.
-
Füge den folgenden Code in das Modul ein:
'Unter Verweis auf "Microsoft Scripting Runtime"
Dim FSO As FileSystemObject
Const AusgTab = "Tabelle1"
Const DML = 22 'Doppelte Max Lange eines Verz-Pfad
Public Sub Start()
Worksheets(AusgTab).Range("A1:C1") = Array("Name", "Pfad", "Align-To-Root")
Worksheets(AusgTab).Cells(1, DML) = "Align-To-Leaf"
Set FSO = New FileSystemObject
Verzeichnis_auflisten FSO.GetFolder("C:\temp") 'Ändere den Pfad entsprechend
End Sub
Private Sub Verzeichnis_auflisten(Basisverz As Folder)
Dim V As Folder
Verzeichnislnfo_ausgeben Basisverz
For Each V In Basisverz.SubFolders
Verzeichnis_auflisten V
Next
End Sub
Private Sub Verzeichnislnfo_ausgeben(Verz As Folder)
Dim Z As Range
Dim Arr
Set Z = Worksheets(AusgTab).Cells(Rows.Count, "A").End(xlUp).Offset(1)
Z = Verz.Name ' Verzeichnisname
Z.Offset(, 1) = Verz.Path 'Verzeichnis inkl Pfad
Arr = Split(Verz.Path, "\")
Z.Offset(, 2).Resize(, UBound(Arr) + 1) = Arr 'Verzeichnis-Pfad "align to root"
Z.Offset(, DML - UBound(Arr)).Resize(, UBound(Arr)) = Arr 'Pfad "align to leaf"
End Sub
-
Führe das Makro aus: Drücke F5 oder gehe zu „Run“ > „Run Sub/UserForm“.
Nun wird die Verzeichnisstruktur in Excel ausgelesen und angezeigt.
Häufige Fehler und Lösungen
-
Fehler: „Komponente nicht gefunden“
Lösung: Stelle sicher, dass du unter "Extras" > "Verweise" das „Microsoft Scripting Runtime“ aktiviert hast.
-
Fehler: Nichts wird angezeigt
Lösung: Überprüfe den angegebenen Pfad im Code. Stelle sicher, dass der Ordner existiert und die Berechtigungen stimmen.
Alternative Methoden
Falls du keine VBA-Lösung verwenden möchtest, kannst du auch die integrierte Funktion „Daten abrufen“ in Excel nutzen. Damit kannst du die Verzeichnisstruktur einlesen, indem du den Pfad zu deinem Ordner angibst.
- Gehe zu „Daten“ > „Daten abrufen“ > „Aus Datei“ > „Aus Ordner“.
- Wähle den gewünschten Ordner aus und klicke auf „Laden“.
Diese Methode ist ideal, wenn du eine schnelle Übersicht der Dateien und Ordner benötigst.
Praktische Beispiele
-
Beispiel 1: Verwende den VBA-Code, um alle Unterverzeichnisse eines bestimmten Ordners auszulesen. Ändere den Pfad in FSO.GetFolder("C:\temp")
zu deinem gewünschten Ordner.
-
Beispiel 2: Mit den ausgelesenen Ordnernamen kannst du eine Liste erstellen, die du dann für weitere Prozesse in Excel verwenden kannst, wie z.B. das Umbenennen von Verzeichnissen.
Tipps für Profis
-
Verzeichnisstruktur grafisch darstellen: Wenn du die Ordnerstruktur grafisch darstellen möchtest, kannst du ein Diagramm in Excel verwenden, um die Hierarchie der Ordner visuell darzustellen.
-
Automatisierung durch Buttons: Füge Schaltflächen hinzu, um das Auslesen und Bearbeiten der Ordnerstruktur zu automatisieren. Weise den Schaltflächen die entsprechenden Makros zu.
FAQ: Häufige Fragen
1. Wie kann ich nur bestimmte Ordner auslesen?
Du kannst im VBA-Code Bedingungen hinzufügen, um nur die Ordner auszulesen, die bestimmte Kriterien erfüllen (z.B. nach Namen filtern).
2. Ist es möglich, die Ordnerstruktur in einer anderen Excel-Version zu verwenden?
Ja, der Code sollte in den meisten modernen Excel-Versionen funktionieren, solange die „Microsoft Scripting Runtime“ aktiviert ist.