VBA Lista de Archivos en la Carpeta
En este tutorial, usted aprenderá cómo obtener los nombres de todos los archivos en una carpeta y ponerlos en una hoja de trabajo. En cambio, si quieres aprender a comprobar si un archivo existe, puedes hacer clic en este enlace: VBA Archivo Existe
Usando el FileSystemObject para obtener la lista de archivos de una carpeta
VBA le permite listar todos los archivos de una carpeta, utilizando el objeto FileSystemObject. Mostraremos cómo obtener una lista de archivos en la carpeta C:\VBA Folder y ponerla en la primera columna de la Hoja de Trabajo. Esta carpeta consta de 5 archivos, como se muestra en la Imagen 1:
Imagen 1. Archivos en la carpeta C:\…\Carpeta VBA
Aquí está el código:
Sub bucleAtravesdeArchivosEnCarpeta()
Dim oFSO As Object
Dim oCarpeta As Object
Dim oArchivo As Object
Dim i As Integer
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oCarpeta = oFSO.GetFolder("C:\Carpeta VBA")
For Each oArchivo In oCarpeta.Files
Cells(i + 1, 1) = oArchivo.Name
i = i + 1
Next oArchivo
End Sub
En el ejemplo, primero crea un objeto de la clase Scripting.FileSystemObject:
Set oFSO = CreateObject("Scripting.FileSystemObject")
A continuación, establezca la carpeta utilizando el método GetFolder:
Set oCarpeta = oFSO.GetFolder("C:\Carpeta VBA")
A continuación, un bucle que recorre a través de cada archivo en oCarpeta, utilizando oArchivo.Name para obtener el nombre de cada archivo en la carpeta y escribirlo en la siguiente fila vacía:
For Each oArchivo In oCarpeta.Files
Cells(i + 1, 1) = oArchivo.Name
i = i + 1
Next oArchivo
Imagen 2. Hoja de trabajo con la lista de archivos en la carpeta
Como puede ver en la imagen 2, los 5 archivos de la carpeta C:\…\Carpeta VBA aparecen en la primera columna.
VBA Coding Made Easy
Stop searching for VBA code online. Learn more about AutoMacro - A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users!Learn More!