VBA – Lista de Arquivos na Pasta
Neste tutorial, você aprenderá como obter os nomes de todos os arquivos em uma pasta e colocá-los em uma planilha.
Em vez disso, se quiser saber como verificar se um arquivo existe, clique neste link: Existência de arquivo VBA
Uso do FileSystemObject para Obter a Lista de Arquivos em uma Pasta
O VBA permite que você liste todos os arquivos de uma pasta, usando o objeto FileSystemObject.
Mostraremos como obter uma lista de arquivos na pasta C:\VBA Folder e colocá-la na primeira coluna da planilha. Essa pasta consiste em 5 arquivos, conforme mostrado na Imagem 1:
Imagem 1. Arquivos na pasta C:\VBA Folder
Aqui está o código:
Sub LoopAtravesDosArquivos ()
Dim oFSO As Object
Dim oFolder As Object
Dim oFile As Object
Dim i As Integer
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFSO.GetFolder("C:\VBA Folder")
For Each oFile In oFolder.Files
Cells(i + 1, 1) = oFile.Name
i = i + 1
Next oFile
End Sub
No exemplo, primeiro crie um objeto da classe Scripting.FileSystemObject:
Set oFSO = CreateObject("Scripting.FileSystemObject")
Em seguida, defina a pasta usando o método GetFolder:
Set oFolder = oFSO.GetFolder("C:\VBA Folder")
Em seguida, faça um loop em cada arquivo em oFolder, usando oFile.Name para obter o nome de cada arquivo na pasta e escrevê-lo na próxima linha vazia:
For Each oFile In oFolder.Files
Cells(i + 1, 1) = oFile.Name
i = i + 1
Next oFile
Imagem 2. Planilha com a lista de arquivos na pasta
Como você pode ver na Imagem 2, todos os 5 arquivos da pasta C:\VBA Folder estão listados na primeira coluna.