Como listar todas as pastas e subpastas no Excel?
Você já enfrentou o problema de listar todas as pastas e subpastas de um diretório específico em uma planilha? No Excel, não há uma maneira rápida e prática de obter o nome de todas as pastas em um diretório específico de uma só vez. Para lidar com essa tarefa, este artigo pode ajudá-lo.
Use o código VBA para listar todas as pastas e subpastas
Use o código VBA para listar todas as pastas e subpastas
Se você deseja obter todos os nomes de pastas de um diretório específico, o seguinte código VBA pode ajudá-lo; por favor, siga estas instruções:
1. Pressione e segure as teclas "ALT + F11", e abrirá a "Janela do Microsoft Visual Basic for Applications".
2. Clique em "Inserir" > "Módulo" e cole o seguinte código na "Janela do Módulo".
Código VBA: Liste todas as pastas e subpastas
Sub FolderNames()
'Updateby Extendoffice
Application.ScreenUpdating = False
Dim xPath As String
Dim xWs As Worksheet
Dim fso As Object, j As Long, folder1 As Object
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Choose the folder"
.Show
End With
On Error Resume Next
xPath = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1) & "\"
Application.Workbooks.Add
Set xWs = Application.ActiveSheet
xWs.Cells(1, 1).Value = xPath
xWs.Cells(2, 1).Resize(1, 5).Value = Array("Path", "Dir", "Name", "Date Created", "Date Last Modified")
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder1 = fso.getFolder(xPath)
getSubFolder folder1
xWs.Cells(2, 1).Resize(1, 5).Interior.Color = 65535
xWs.Cells(2, 1).Resize(1, 5).EntireColumn.AutoFit
Application.ScreenUpdating = True
End Sub
Sub getSubFolder(ByRef prntfld As Object)
Dim SubFolder As Object
Dim subfld As Object
Dim xRow As Long
For Each SubFolder In prntfld.SubFolders
xRow = Range("A1").End(xlDown).Row + 1
Cells(xRow, 1).Resize(1, 5).Value = Array(SubFolder.Path, Left(SubFolder.Path, InStrRev(SubFolder.Path, "\")), SubFolder.Name, SubFolder.DateCreated, SubFolder.DateLastModified)
Next SubFolder
For Each subfld In prntfld.SubFolders
getSubFolder subfld
Next subfld
End Sub
3. Em seguida, pressione a tecla "F5" para executar este código, e uma janela "Escolha a pasta" aparecerá. Depois disso, você precisará selecionar o diretório do qual deseja listar as pastas e subpastas, veja a captura de tela:
4. Clique em "OK", e você obterá o caminho das pastas e subpastas, diretório, nome, data de criação e última data de modificação em uma nova pasta de trabalho, veja a captura de tela:
Artigo relacionado:
Como listar arquivos em um diretório para uma planilha no Excel?
Melhores Ferramentas de Produtividade para Office
Potencialize suas habilidades no Excel com o Kutools para Excel e experimente uma eficiência sem igual. O Kutools para Excel oferece mais de300 recursos avançados para aumentar sua produtividade e economizar tempo. Clique aqui para obter o recurso que você mais precisa...
O Office Tab traz interface com abas para o Office e facilita muito o seu trabalho
- Habilite a edição e leitura com abas no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novas abas na mesma janela, em vez de abrir novas janelas.
- Aumente sua produtividade em50% e reduza centenas de cliques do mouse todos os dias!