¿Cómo enumerar todos los archivos en carpetas y subcarpetas en una hoja de trabajo?
¿Alguna vez ha intentado enumerar todos los nombres de archivo de una carpeta en una hoja de trabajo, incluidos los archivos ubicados dentro de sus subcarpetas? De hecho, no existe una forma directa de que enumeremos los nombres de archivo de una carpeta y su subcarpeta en Excel, sin embargo, hoy, presentaré algunos trucos rápidos para resolver este trabajo.
Enumere todos los nombres de archivo en la carpeta y subcarpeta con código VBA
Enumere todos los nombres de archivo en carpetas y subcarpetas de forma rápida y sencilla con Kutools para Excel
Enumere todos los nombres de archivo en la carpeta y subcarpeta con código VBA
Normalmente, Excel no tiene una función incorporada para hacer frente a esta tarea, pero puede aplicar el siguiente código VBA para completar este problema.
1. Active una nueva hoja de trabajo que enumerará los nombres de archivo.
2. Mantenga pulsado el ALT + F11 claves en Excel, y abre el Microsoft Visual Basic para aplicaciones ventana.
3. Hacer clic recuadro > Móduloy pegue el siguiente código en el Ventana de módulo.
Código VBA: enumere todos los nombres de archivo en carpetas y subcarpetas
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, presione F5 clave para ejecutar este código, y una Macros aparece el cuadro de diálogo, seleccione el Lista principal nombre de macro y luego haga clic en Ejecutar botón, ver captura de pantalla:
5. Y en la Explorar ventana, seleccione la carpeta en la que desea enumerar todos los nombres de archivo, incluidas las subcarpetas, vea la captura de pantalla:
6. Después de especificar la carpeta, haga clic en OK , y todos los nombres de archivo en la carpeta y sus subcarpetas se han incluido en la hoja de trabajo actual de la celda A2, vea las capturas de pantalla:
Enumere todos los nombres de archivo en carpetas y subcarpetas de forma rápida y sencilla con Kutools para Excel
Con el código anterior, puede simplemente enumerar los nombres de archivo, a veces, necesita enumerar otros atributos, como el tamaño del archivo, el tipo de archivo, la hora de creación, la carpeta que contiene, etc. Kutools for Excel contiene una función útil - Lista de nombre de archivo, con esta función, puede enumerar rápidamente todos o tipos específicos de nombres de archivo en una carpeta y sus subcarpetas.
Kutools for Excel : con más de 300 prácticos complementos de Excel, prueba gratuita y sin límite en 30 días. |
Después de instalar Kutools for Excel, siga los siguientes pasos:
1. Hacer clic Empresa > Importación y exportación > Lista de nombre de archivo, ver captura de pantalla:
2. En la Lista de nombre de archivo cuadro de diálogo, realice las siguientes operaciones:
A: Haga clic botón para elegir la carpeta en la que desea enumerar los nombres de archivo;
B: Especifique el tipo de archivo que desea incluir en la lista Tipo de archivos sección;
C: Seleccione una unidad de tamaño de archivo que desee mostrar de la Unidad de tamaño de archivo .
Note: Para enumerar los nombres de archivo de la subcarpeta, marque Incluir archivos en subdirectorios, también puede consultar el Incluir archivos y carpetas ocultos como necesites. Si miras Crea hipervínculos opción, creará hipervínculos para cada nombre de archivo y carpeta.
3. Luego haga clic OK , todos los archivos contenidos en la carpeta seleccionada y sus subcarpetas se han mostrado con los siguientes atributos en una nueva hoja de trabajo. Ver captura de pantalla:
Haga clic para conocer más detalles sobre esta utilidad Lista de nombres de archivo.
¡Descargue y pruebe Kutools para Excel ahora!
Demostración: enumere todos los nombres de archivo en la carpeta y subcarpeta con Kutools para Excel
Las mejores herramientas de productividad de oficina
Mejore sus habilidades de Excel con Kutools for Excel y experimente la eficiencia como nunca antes. Kutools for Excel ofrece más de 300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haga clic aquí para obtener la función que más necesita...
Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
- ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!