Ir para o conteúdo principal

Como listar todos os arquivos em uma pasta e subpastas em uma planilha?

Autor: Xiao Yang Última modificação: 2024-08-28

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 em pastas e subpastas de forma rápida e fácil com o Kutools para Excel


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:

uma captura de tela da execução do código VBA

5. E no Explorar janela, selecione a pasta que deseja listar todos os nomes de arquivo, incluindo as subpastas, consulte a captura de tela:

uma captura de tela da seleção da pasta na qual deseja listar todos os nomes de arquivos, incluindo as subpastas

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:

uma captura de tela da pasta selecionada
uma captura de tela de uma flecha
uma captura de tela listando todos os nomes de arquivos da pasta selecionada e suas subpastas

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:

uma captura de tela da ativação do recurso Lista de nomes de arquivos do Kutools

2. No Lista de nomes de arquivo caixa de diálogo, faça as seguintes operações:

A: Clique uma captura de tela do ícone da pastabotã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.

uma captura de tela da configuração da caixa de diálogo Lista de nomes de arquivos

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:

uma captura de tela listando os detalhes dos arquivos da pasta selecionada

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

🤖 Assistente de IA do Kutools: Revolucionar a análise de dados com base em: Execução Inteligente   |  Gerar Código  |  Crie fórmulas personalizadas  |  Analise dados e gere gráficos  |  Invocar funções do Kutools...
Recursos mais comuns: Encontre, destaque ou identifique duplicatas   |  Excluir linhas em branco   |  Combine colunas ou células sem perder dados   |   Rodada sem Fórmula ...
Super pesquisa: VLookup de múltiplos critérios    VLookup de múltiplos valores  |   VLookup em várias planilhas   |   Pesquisa Difusa ....
Lista suspensa avançada: Crie rapidamente uma lista suspensa   |  Lista suspensa de dependentes   |  Lista suspensa de seleção múltipla ....
Gerenciador de colunas: Adicione um número específico de colunas  |  Mover colunas  |  Alternar status de visibilidade de colunas ocultas  |  Compare intervalos e colunas ...
Recursos em destaque: Foco da Grade   |  Vista de Design   |   Grande Barra de Fórmula    Gerenciador de pastas de trabalho e planilhas   |  Biblioteca (Auto texto)   |  Data Picker   |  Combinar planilhas   |  Criptografar/Descriptografar Células    Enviar e-mails por lista   |  Super Filtro   |   Filtro Especial (filtro negrito/itálico/tachado...) ...
15 principais conjuntos de ferramentas12 Texto Ferramentas (Adicionar texto, Remover Personagens, ...)   |   50+ de cores Tipos (Gráfico de Gantt, ...)   |   Mais de 40 práticos Fórmulas (Calcule a idade com base no aniversário, ...)   |   19 Inclusão Ferramentas (Insira o código QR, Inserir imagem do caminho, ...)   |   12 Conversão Ferramentas (Números para Palavras, Conversão de moedas, ...)   |   7 Unir e dividir Ferramentas (Combinar linhas avançadas, Dividir células, ...)   |   ... e mais

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!