En este tutorial, aprenderá cómo obtener nombres de todos los archivos en una carpeta y colocarlos en una hoja de trabajo.
En cambio, si desea aprender a verificar si existe un archivo, puede hacer clic en este enlace: El archivo VBA existe
Uso de FileSystemObject para obtener la lista de archivos en una carpeta
VBA le permite listar todos los archivos de una carpeta, usando el FileSystemObject.
Mostraremos cómo obtener una lista de archivos en la carpeta. C: \ Carpeta VBA y colóquelo 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:
1234567891011121314151617181920 | Sub LoopThroughFiles ()Dim oFSO como objetoDim oFolder como objetoDim oFile como objetoDim i como enteroEstablecer oFSO = CreateObject ("Scripting.FileSystemObject")Establecer oFolder = oFSO.GetFolder ("C: \ Carpeta VBA")Para cada oFile en oFolder.FilesCeldas (i + 1, 1) = oFile.Nameyo = yo + 1Siguiente oFileEnd Sub |
En el ejemplo, primero crea un objeto de la clase. Scripting.FileSystemObject:
1 | Establecer oFSO = CreateObject ("Scripting.FileSystemObject") |
Luego configure la carpeta usando el método GetFolder:
1 | Establecer oFolder = oFSO.GetFolder ("C: \ Carpeta VBA") |
A continuación, recorra cada archivo en oFolder, utilizando oFile.Name a obtenga el nombre de cada archivo en la carpeta y escríbalo en la siguiente fila vacía:
123456 | Para cada oFile en oFolder.FilesCeldas (i + 1, 1) = oFile.Nameyo = yo + 1Siguiente oFile |
Imagen 2. Hoja de trabajo con la lista de archivos de la carpeta
Como puede ver en la Imagen 2, los 5 archivos de la carpeta C: \ VBA se enumeran en la primera columna.