VBA Lista de Archivos en la Carpeta

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Dennis Madrid

Last updated on febrero 26, 2022

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:

Carpeta VBA

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

Uso de FSO Resultado

 

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! vba save as


Learn More!
vba-free-addin

Complemento de Ejemplos de Código de VBA

Acceda fácilmente a todos los ejemplos de código que se encuentran en nuestro sitio.

Simplemente navegue al menú, haga clic y el código se insertará directamente en su módulo. Complemento .xlam.

(¡No se requiere instalación!)

Descarga gratuita

Return to VBA Code Examples