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!