Listando Arquivos com VBA

Algumas vezes, precisamos criar Ferramentas em VBA, nas quais é necessário listar os arquivos ou pastas em determinado drive da máquina.

Podemos realizar esta tarefa usando o Scripting RunTime, ou mesmo o Shell, porém existe um recurso nativo que permite obter o mesmo resultado.

No exemplo a seguir são retornados todos os arquivos Excel na pasta D:\Projetos

Sub ListarArquivos()
Dim Files As Variant
Files = Dir("D:\Projetos\*.xls*", vbArchive)

While Files <> ""
 
Debug.Print Files
Files = Dir(, vbArchive)
Wend

End Sub

Com ela também é possível retornar as pastas, basta usar vbDirectory, ao invés de vbArchive, ou usar filtros com o nome de arquivo. Por exemplo usando

Files = Dir("D:\Projetos\B*.xls*", vbArchive)

Será retornado todos os arquivos Excel que começam com a letra B.

Bom é isto ai, até uma próxima!

Bruno Leite
Office developer