Armé un ejemplo bien rápido que puede serte de utilidad:
Código PHP:
Sub MainFind(ByVal Path As String, ByVal Find As String)
List2.AddItem Path
Do While List2.ListCount > 0
FindInDirectory List2.List(0), Find
List2.RemoveItem 0
Loop
End Sub
Sub FindInDirectory(ByVal Path As String, ByVal Find As String)
Dim FileName As String
FileName = Dir(Path & Find, vbArchive)
'Buscar dentro de la carpeta'
Do While FileName <> ""
List1.AddItem Path & FileName
FileName = Dir
Loop
'Buscar SubCarpetas'
FileName = Dir(Path & "*.*", vbDirectory)
Do While FileName <> ""
If GetAttr(Path & FileName) = vbDirectory And FileName <> ".." And FileName <> "." Then
List2.AddItem Path & FileName & "\"
End If
FileName = Dir
Loop
End Sub
Necesitas tener dos ListBox, List1 donde se cargarán los resultados de la búsqueda, y List2 para buscar en las subcarpetas.
Solo necesitarás añadirle los filtros...