Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Verzeichnisse auslesen und bearbeiten

Verzeichnisse auslesen und bearbeiten
03.02.2022 21:55:01
Markus
Hallo zusammen
Ich möchte gerne diverse Unterverzeichnisse in einem Verzeichnis bearbeiten.
Vor längerer Zeit habe ich in diesem TOP-Forum folgenden Beitrag gefunden, der sich aber auf die Dateien in einem auswählbaren Verzeichnis bezieht.
Habe diese Vorlage regelmässig im Einsatz.
Beitrag: https://www.herber.de/forum/archiv/988to992/990435_Dateinamen_von_200_Dateien_per_Makro_umbenennen.html#990474
Datei: https://www.herber.de/bbs/user/53526.xls
Vielen Dank an Matthias G. :-)
Kann man diese Datei so ändern, dass ich die Verzeichnisse bearbeiten kann?
Freundliche Grüsse
Markus
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Verzeichnisse auslesen und bearbeiten
03.02.2022 23:56:51
Yal
Hallo Markus,
wie wär's, wenn Du uns erzählen würdest, was Du brauchst, anstatt uralte Dateien auszugraben, die deine Anforderung nicht passen?
Wie willst Du deine Verzeichnisse verarbeiten? umbenennen, leeren, löschen, archivieren, ...
VG
Yal
AW: Verzeichnisse auslesen und bearbeiten
04.02.2022 00:18:42
Markus
Hallo "Yal"
Entschuldige, mit bearbeiten habe ich "unbennenen" gemeint.
Ich würde gerne ein Verzeichnis zum auslesen definieren, die ausgelesenen Verzeichnisse sollten dann in einem separaten Register aufgelistet werden.
In diesem Register würde ich dann gerne die Namen der Verzeichnisse in einer anderen Spalte vorgeben, und dann mit einem Button den Befehl geben diese unzubennen.
Genau wie bei der Musterdatei, "einfach" für Verzeichnisse statt Dateien
FG
Markus
Anzeige
AW: Verzeichnisse auslesen und unbennenen
04.02.2022 12:10:31
Markus
Hallo zusammen
Ich würde gerne ein Verzeichnis zum auslesen definieren, die ausgelesenen Verzeichnisse sollten dann in einem separaten Register aufgelistet werden.
In diesem Register würde ich dann gerne die Namen der Verzeichnisse in einer anderen Spalte vorgeben, und dann mit einem Button den Befehl geben diese unzubennen.
Genau wie bei der Musterdatei, statt für Dateien eben für Verzeichnisse
Datei: https://www.herber.de/bbs/user/53526.xls
Freundliche Grüsse
Markus
Anzeige
AW: Verzeichnisse auslesen und unbennenen
05.02.2022 13:21:47
Yal
Hallo Markus
eine Verzeichnisstruktur ist ein Baum und Bäume geht man rekursiv an.
Beachte den "Unter Verweis auf "Microsoft Scripting Runtime"
Bei der Ausgabe kannst Du herausnehmen, was zu Dir passt.

'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")
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
VG
Yal
Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

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.

  1. Öffne Excel und erstelle ein neues Arbeitsblatt.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Füge ein neues Modul hinzu: Rechtsklick auf "VBAProject (DeineDatei.xlsx)" > Einfügen > Modul.

  4. 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
  5. 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.

  1. Gehe zu „Daten“ > „Daten abrufen“ > „Aus Datei“ > „Aus Ordner“.
  2. 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.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige