Hallo,
nach viel Fummelei habe ich die richtigen Pattern gefunden; das ist für mich mega schwierig. Ich bin sehr dankbar für das Makro und sehr glücklich, dass schlussendlich alles klappt.
Nun möchte ich gerne ein weiteres Verzeichnis einlesen, wo die Status der Arbeitsdateien enthalten sind. Das Verzeichnis ist gleich aufgebaut, hat aber allerdings weitere Unterverzeichnise, die jeweils 100 Unterverzeichnisse mit der gleichen Beschriftungsart enthalten, nun müsste man analog die einzelnen Verzeichnisse mit den jeweils 100 Unterverzeichnissen einlesen. Ginge das über ein Array?
Darf ich, trotz meiner Nerverei, nochmals um Hilfe bitten? Es geht mir um die rot markierte Stelle.
Mein größtes Problem, ich fühle mich selber dumm ![surprise surprise](https://www.vba-forum.de/ckeditor/plugins/smiley/images/omg_smile.png)
Private Sub GetFolders()
Dim rngFolderIds As Excel.Range
Dim rngFolderId As Excel.Range
Dim udtInfo As FolderInfo
Dim strPath As String
Dim strResult As String
With Worksheets("Tabelle1") '<< ggf. anpassen
Set rngFolderIds = .Range("A1", .Cells(.Rows.Count, "A").End(xlUp)) '<< ggf. anpassen
End With
' muss mit Backslash '\' enden
strPath = "C:\Mein Verzeichnis\" '<< anpassen ARRAY mit Unterverzeichnissen?????
strResult = Dir$(strPath, vbDirectory)
Do While strResult <> ""
If strResult = "." Or strResult = ".." Then
GoTo Continue_Do
End If
If Not TryParseFolderName(strPath & strResult, udtInfo) Then
GoTo Continue_Do
End If
Set rngFolderId = rngFolderIds.Find(udtInfo.Id, , xlValues, xlWhole, xlByColumns, MatchCase:=False)
If rngFolderId Is Nothing Then
GoTo Continue_Do
End If
rngFolderId.Worksheet.Cells(rngFolderId.Row, "E").Value = udtInfo.Status
Continue_Do:
strResult = Dir$()
Loop
End Sub
|