eu utilizo o procedimento abaixo para buscar todos os arquivos .PRW a partir de uma pasta, o procedimento busca em todas as pastas e sub-pastas dentro da pasta original ...
Private Sub subPegaArquivos(strPastaOrigem As String)
'Cria instância do FSO
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolderOrigem = objFSO.GetFolder(strPastaOrigem)
Set objFoldersSubOrig = objFolderOrigem.SubFolders
'Para cada pasta na coleção de subpastas da pasta origem
For Each objFolder In objFoldersSubOrig
'Chama recursivo enquanto tiver subpasta
subPegaArquivos objFolder.Path
'Para cada arquivo na coleção de arquivos da pasta
For Each objFile In objFolder.Files
'Verifica se o arquivo encontrado é do tipo PRW
If ((LCase(Right(objFile.Path, 3))) = "prw") Then
'Atualiza RichTextBox -> lista arquivos processados
rtbArquivosProcessados.Text = rtbArquivosProcessados.Text & objFile.Path & Chr(13) & Chr(10)
'Incrementa variável número de arquivos do projeto
strProjetoNArquivos = strProjetoNArquivos + 1
'Concatena arquivo na variável de projetos
strProjetoArquivos = strProjetoArquivos & " File " & Mid(objFile.Path, 3) & Chr(13) & Chr(10) & " Type=T" & Chr(13) & Chr(10) & " End" & Chr(13) & Chr(10)
'Atualiza labels
lblLegendas(3).Caption = "Processando arquivo.: " & objFile.Name
lblLegendas(4).Caption = "Arquivos processados: " & strProjetoNArquivos
'Atualiza formulário
Me.Refresh
End If
Next
Next
End Sub