Hallo Ihr Lieben,
ich habe folgendes Problem: Ich möchte gerne von einem Dateinpfad den Namen der dritten Ebene auslesen und in Spalte 4 (D) schreiben. Das Problem ist, dass das nur erfolgen soll/kann, wenn es auch eine dritte Ebene gibt. Wichtig noch: es soll nicht immer "einfach" die letzte Ebene vom Pfad sein.
Wie es aussehen soll seht ihr hier.
Datei Ordner Erstellungsdatum Folder
Test 1.docx C:\Desktop\Test Level 1 18.04.2023 15:57
Test 1.docx C:\Desktop\Test Level 1\Test Level 2.1 18.04.2023 15:56 Test Level 2.1
Mein Code sieht bisher so aus. Für die zweite Ebene klappt es, weil es die immer gibt. Er gibt mir jedoch eine Fehlermeldung zurück, sobald ich die dritte Ebene angezeigt bekommen möchte, weil es die nicht immer gibt.
Sub DateinAuslesen(pfad As String)
'Varibalen dimensionieren
Dim fso As New FileSystemObject
Dim Datei As File
Dim LetzteZeile As Long
Dim pfadkette As String
'Schleife über alle Datein im Ordner
For Each Datei In fso.GetFolder(pfad).Files
'letzte Zeile herausfinden
LetzteZeile = Cells(Rows.Count, 2).End(xlUp).Row + 1
'Ergebnisse in Tabellenblatt eintragen
ActiveSheet.Hyperlinks.Add anchor:=Cells(LetzteZeile, 1), Address:=Datei.Path, TextToDisplay:=Datei.Name
Cells(LetzteZeile, 2).Value = Datei.ParentFolder
Cells(LetzteZeile, 3).Value = Datei.DateCreated
pfadkette = Datei.ParentFolder
Cells(LetzteZeile, 4).Value = Split(pfadkette, "\", -1, vbTextCompare)(2)
Next Datei
End Sub
Hier die Datei mit dem Code: https://www.herber.de/bbs/user/158774.xlsm
Ich denke ich brauche eine Abfrage "gibt es Ebene 2" wenn ja, dann... ansonsten "". Ich weiß nur nicht wie ich das umsetze.
Vielen Dank schon mal im Voraus
Viele Grüße
Jenny