Guarda che, senza scomodorare il FSO, in VBA si usa la funzione Dir() che è davvero banale da usare, il link sotto mostra 3 metodi di ricerca usando Dir(), FSO e API:
How To Search Directories to Find or List Files
http://support.microsoft.com/kb/185476/en-us
e se hai VB6.0 trovi l'esempio WinSeek qui
C:\Programmi\Microsoft Visual Studio\MSDN98\98VS\1040\SAMPLES\VB98\Filects
Tutti gli esempi mostrano anche come usare la ricorsione per elaborare le sotto-cartelle.
Comunque, con il FSO puoi ottenere l'elenco dei files usando un ciclo For Each...
Ad esempio, il seguente script elimina tutti i file [*.tmp] da una cartella :
codice:
Dim AFolder, AFile, AllFiles
Dim FileSpec , NumFile, MyVar
On Error Resume Next
FileSpec = "TMP"
Set AFolder = FSO.GetFolder(<percorso_cartella>)
Set AllFiles = AFolder.Files
For Each AFile In AllFiles
IF UCase(FSO.GetExtensionName(AFile.Path)) = FileSpec Then
FSO.DeleteFile AFile
NumFile = NumFile + 1
End If
Next
If NumFile > 0 Then
MyVar = MsgBox (NumFile & " file eliminati.")
Else
MyVar = MsgBox ("Nessun file eliminato.")
End If