Como listar todos os arquivos em uma pasta e subpastas em uma planilha?
Você já tentou listar todos os nomes de arquivo de uma pasta em uma planilha, incluindo os arquivos localizados em suas subpastas? Na verdade, não há uma forma direta de listarmos os nomes de arquivo de uma pasta e sua subpasta no Excel, porém, hoje, vou apresentar alguns truques rápidos para resolver este trabalho.
Liste todos os nomes de arquivos na pasta e subpasta com o código VBA
Liste todos os nomes de arquivos na pasta e subpasta com o código VBA
Normalmente, o Excel não tem nenhum recurso integrado para lidar com essa tarefa, mas você pode aplicar o seguinte código VBA para concluir esse problema.
1. Ative uma nova planilha que listará os nomes dos arquivos.
2. Segure o ALT + F11 chaves no Excel, e abre o Microsoft Visual Basic para Aplicações janela.
3. Clique inserção > Móduloe cole o seguinte código no Janela Módulo.
Código VBA: lista todos os nomes de arquivos na pasta e subpasta
Sub MainList()
'Updateby Extendoffice
Set folder = Application.FileDialog(msoFileDialogFolderPicker)
If folder.Show <> -1 Then Exit Sub
xDir = folder.SelectedItems(1)
Call ListFilesInFolder(xDir, True)
End Sub
Sub ListFilesInFolder(ByVal xFolderName As String, ByVal xIsSubfolders As Boolean)
Dim xFileSystemObject As Object
Dim xFolder As Object
Dim xSubFolder As Object
Dim xFile As Object
Dim rowIndex As Long
Set xFileSystemObject = CreateObject("Scripting.FileSystemObject")
Set xFolder = xFileSystemObject.GetFolder(xFolderName)
rowIndex = Application.ActiveSheet.Range("A65536").End(xlUp).Row + 1
For Each xFile In xFolder.Files
Application.ActiveSheet.Cells(rowIndex, 1).Formula = xFile.Name
rowIndex = rowIndex + 1
Next xFile
If xIsSubfolders Then
For Each xSubFolder In xFolder.SubFolders
ListFilesInFolder xSubFolder.Path, True
Next xSubFolder
End If
Set xFile = Nothing
Set xFolder = Nothing
Set xFileSystemObject = Nothing
End Sub
Function GetFileOwner(ByVal xPath As String, ByVal xName As String)
Dim xFolder As Object
Dim xFolderItem As Object
Dim xShell As Object
xName = StrConv(xName, vbUnicode)
xPath = StrConv(xPath, vbUnicode)
Set xShell = CreateObject("Shell.Application")
Set xFolder = xShell.Namespace(StrConv(xPath, vbFromUnicode))
If Not xFolder Is Nothing Then
Set xFolderItem = xFolder.ParseName(StrConv(xName, vbFromUnicode))
End If
If Not xFolderItem Is Nothing Then
GetFileOwner = xFolder.GetDetailsOf(xFolderItem, 8)
Else
GetFileOwner = ""
End If
Set xShell = Nothing
Set xFolder = Nothing
Set xFolderItem = Nothing
End Function
4. Depois de colar o código no Módulo, pressione F5 chave para executar este código, e um Macros caixa de diálogo aparece, selecione o Lista principal nome da macro e clique em Execute botão, veja a captura de tela:
5. E no Explorar janela, selecione a pasta que deseja listar todos os nomes de arquivo, incluindo as subpastas, consulte a captura de tela:
6. Depois de especificar a pasta, clique em OK botão, e todos os nomes de arquivo na pasta e suas subpastas foram listados na planilha atual da célula A2, consulte as capturas de tela:
![]() |
![]() |
![]() |
Liste todos os nomes de arquivos em pastas e subpastas de forma rápida e fácil com o Kutools para Excel
Com o código acima, você pode apenas listar os nomes dos arquivos, às vezes, você precisa listar outros atributos, como tamanho do arquivo, tipo de arquivo, hora de criação, pasta de conteúdo e outros. Kutools for Excel contém uma função útil - Lista de nomes de arquivo, com esse recurso, você pode listar rapidamente todos ou tipos específicos de nomes de arquivo em uma pasta e suas subpastas.
Depois de baixando e instalando Kutools for Excel, siga os seguintes passos:
1. Clique Empreendimento > Importar e Exportar > Lista de nomes de arquivo, veja a captura de tela:
2. No Lista de nomes de arquivo caixa de diálogo, faça as seguintes operações:
A: Clique botão para escolher a pasta onde deseja listar os nomes dos arquivos;
B: Especifique o tipo de arquivo que você deseja listar no Tipo de arquivo seção;
C: Selecione uma unidade de tamanho de arquivo que deseja exibir a partir do Unidade de tamanho de arquivo seção.
Note: Para listar os nomes de arquivo da subpasta, verifique Incluir arquivos em subdiretórios, você também pode verificar o Incluir arquivos e pastas ocultos como você precisa. Se você checar Crie hiperlinks opção, ele criará hiperlinks para cada nome de arquivo e pastas.
3. Então clique OK botão, todos os arquivos contidos na pasta selecionada e suas subpastas foram exibidos com os seguintes atributos em uma nova planilha. Veja a imagem:
Clique para saber mais detalhes sobre este utilitário Lista de nomes de arquivos.
Baixe e teste grátis Kutools para Excel agora!
Melhores ferramentas de produtividade de escritório
Aprimore suas habilidades de Excel com o Kutools para Excel e experimente uma eficiência como nunca antes. Kutools para Excel oferece mais de 300 recursos avançados para aumentar a produtividade e economizar tempo. Clique aqui para obter o recurso que você mais precisa...
Office Tab traz interface com guias para o Office e torna seu trabalho muito mais fácil
- Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
- Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!