Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Unterverzeichnis durchsuchen

Unterverzeichnis durchsuchen
ChrisW
Hallo Leute,
Ich habe eine riesengroße Verzeichnisstruktur und möchte einen bestimmten Unterverzeichnispfad finden.
Ich weiss genau das dieses Verzeichnis nur einmal existiert.
Ich weiss weiterhin, das ich erst ab einer bestimmten Verzeichnistiefe suchen muss.
Beispiel:
Mein Verzeichnis enthält folgende ID: 068613 ich weiss aber nicht an welcher Stelle des Verzeichnisses diese Zahlenfolge enthalten ist.
Ich weiss das das gesuchte Verzeichnis in jedem Fall ein Unterverzeichnis von C:\Documents and Settings\Test sein muss, aber ich weiss nicht in welcher Verzeichnistiefe.
Ich möchte als Ergebnis den kompletten Pfad des gesuchten Verzeichnisses wie z.B. C:\Documents and Settings\Test\UV3\UUV2\Blabla068613blubbblubb
Ich hoffe Ihr könnt mir bei der Durchsuchung des Verzeichnissbaums mit VBA weiterhelfen.
Vielen Dank
Chris
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Unterverzeichnis durchsuchen
27.10.2010 16:09:19
Heiko
Hallo Chris,
z.B. so:
Public Sub SuchOrdner()
Dim MyFolders()
Dim strPfad As String
Dim lngI As Long
' Pfad Hier anpassen
strPfad = "C:\Copfgfffy\"
If Dir(strPfad, vbDirectory)  "" Then
' Pafd mit Unterordnern durchsuchen
fcnGetFolders strPfad, MyFolders, True
Else
MsgBox "Ordner nicht vorhanden!", vbCritical
Exit Sub
End If
For lngI = LBound(MyFolders) To UBound(MyFolders)
' Hier deine ID anpassen wenn nötig
If InStr(MyFolders(lngI), "068613") > 0 Then
MsgBox MyFolders(lngI)
Exit For
End If
Next lngI
End Sub

Public Function fcnGetFolders(strPath As String, arrDaten(), Optional bolSubFolder As Boolean =  _
False)
' So 08.11.2007
' Diese Function liest alle Ordner des bei strPath angegebenen Verzeichnisses auf und übergibt
' diese Liste an das bei arrDaten angegebene Datenfeld.
' Mit bolSubFolder kann angegeben werden ob Unterordner mit einbezogen werden sollen = True
' oder halt nicht dann = False oder nichts angeben.
Dim myFileSystemObject, MyFolders
Dim varhelp As Variant
Set myFileSystemObject = CreateObject("Scripting.FileSystemObject")
For Each MyFolders In myFileSystemObject.GetFolder(strPath).SubFolders
If bolSubFolder = True Then
' man beachte den rekursiven Aufruf von fcnGetFolders !!!
fcnGetFolders CStr(MyFolders), arrDaten, bolSubFolder
End If
On Error Resume Next
varhelp = arrDaten(0)
If Err.Number = 0 Then
ReDim Preserve arrDaten(UBound(arrDaten) + 1)
Else
ReDim Preserve arrDaten(0)
End If
On Error GoTo 0
arrDaten(UBound(arrDaten)) = MyFolders
Next MyFolders
Set myFileSystemObject = Nothing
End Function
Gruß Heiko
PS: Rückmeldung wäre nett!
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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