¿Cómo listar todos los archivos en una carpeta y subcarpetas en una hoja de cálculo?
¿Alguna vez has intentado listar todos los nombres de archivo de una carpeta en una hoja de cálculo, incluidos los archivos ubicados dentro de sus subcarpetas? De hecho, no hay una manera directa de listar los nombres de archivo de una carpeta y su subcarpeta en Excel. Sin embargo, hoy te presentaré algunos trucos rápidos para resolver este problema.
Listar todos los nombres de archivo en una carpeta y subcarpeta con código VBA
Listar todos los nombres de archivo en una carpeta y subcarpeta con código VBA
Normalmente, Excel no tiene una función integrada para manejar esta tarea, pero puedes aplicar el siguiente código VBA para completar este problema.
1. Activa una nueva hoja de cálculo que listará los nombres de archivo.
2. Mantén presionadas las teclas ALT + F11 en Excel, y se abrirá la ventana de Microsoft Visual Basic para Aplicaciones.
3. Haz clic en Insertar > Módulo, y pega el siguiente código en la Ventana del Módulo.
Código VBA: Listar todos los nombres de archivo en una carpeta y subcarpeta
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. Después de pegar el código en el Módulo, presiona la tecla F5 para ejecutar este código, y aparecerá un cuadro de diálogo Macros, selecciona el nombre de macro MainList, y luego haz clic en el botón Ejecutar, ver captura de pantalla:
5. Y en la ventana Examinar, selecciona la carpeta de la que deseas listar todos los nombres de archivo, incluidas las subcarpetas, ver captura de pantalla:
6. Después de especificar la carpeta, haz clic en el botón Aceptar, y todos los nombres de archivo en la carpeta y sus subcarpetas se habrán listado en la hoja de cálculo actual desde la celda A2, ver capturas de pantalla:
![]() |
![]() |
![]() |
Listar todos los nombres de archivo en una carpeta y subcarpeta rápidamente y fácilmente con Kutools para Excel
Con el código anterior, solo puedes listar los nombres de archivo; a veces, necesitas listar otros atributos, como el tamaño del archivo, el tipo de archivo, la hora de creación, la carpeta que contiene, entre otros. Kutools para Excel contiene una función útil – Lista de Nombres de Archivos, con esta característica, puedes listar rápidamente todos o ciertos tipos de nombres de archivo en una carpeta y sus subcarpetas.
Después de descargar e instalar Kutools para Excel, sigue los siguientes pasos:
1. Haz clic en Empresa > Importar y Exportar > Lista de Nombres de Archivos, ver captura de pantalla:
2. En el cuadro de diálogo Lista de Nombres de Archivos, realiza las siguientes operaciones:
A: Haz clic en el botón para elegir la carpeta de la que deseas listar los nombres de archivo;
B: Especifica el tipo de archivo que deseas listar en la sección Tipo de archivo;
C: Selecciona una unidad de tamaño de archivo que deseas mostrar en la sección Unidad de tamaño de archivo.
Nota: Para listar los nombres de archivo de la subcarpeta, marca Incluir archivos en subdirectorios; también puedes marcar Incluir archivos y carpetas ocultos según sea necesario. Si marcas Crear hipervínculos, se crearán hipervínculos para cada nombre de archivo y carpeta.
3. Luego haz clic en el botón Aceptar, todos los archivos contenidos en la carpeta seleccionada y sus subcarpetas se mostrarán con los siguientes atributos en una nueva hoja de cálculo. Ver captura de pantalla:
Haz clic para conocer más detalles sobre esta utilidad Lista de Nombres de Archivos.
¡Descarga y prueba gratis Kutools para Excel ahora!
Las mejores herramientas de productividad para Office
Potencia tus habilidades en Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...
Office Tab lleva la interfaz de pestañas a Office y facilita mucho tu trabajo
- Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abre y crea varios documentos en nuevas pestañas de la misma ventana, en lugar de nuevas ventanas.
- ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!