VBA – Lista de Arquivos na Pasta

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Daniel Caramello

Last updated on June 19, 2023

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:

arquivos vba folder

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

resultado loop arquivos

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.

vba-free-addin

Exemplos de Add-ins de Códigos VBA

Acesse facilmente todos os exemplos de código que se encontram em nosso site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(Nenhuma instalação necessária!)

Baixe de Graça

Retornar aos Exemplos de Códigos VBA