web 2.0


Listando Arquivos

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

 

Tags: , ,

Microsoft Office | VBA

Comentários

Adelson Silva Brasil, on 20/2/2010 11:54:56 Said:

Adelson Silva

Muito boa a dica bruno.
Uma dúvida:
o retorno da linha : Files = Dir("D:\Projetos\B*.xls*", vbArchive) é um array com as ocorrencias do filtro ?

Bruno Leite Brasil, on 20/2/2010 17:29:31 Said:

Bruno Leite

E ai Adelson td bem?
você pode criar um array, ou uma coleção, definindo a rotina como uma função do tipo collection ou variant, desta forma vc pode percorrer todas as ocorrências que a rotina retornará..

Abs

Os comentários estão fechados