Archivos en un directorio

A continuación veremos un programa en Excel VBA que hace un bucle a través de todos los libros y hojas de trabajo cerrados en un directorio , y muestra todos los nombres.

Descargue el Libro 1.xlsx, Libro 2.xlsx, Libro 3.xlsx, Libro 4.xlsx y Libro 5.xlsx y añádalos a «C:testN»

Situación:

Añade las siguientes líneas de código al botón de comando:

1. Primero, declaramos dos variables de tipo String, un objeto de hoja de cálculo y dos variables de tipo Integer.

Directorio Dim como cadena, archivoNombre como cadena, hoja como hoja de trabajo, i como entero, j como entero

2. Para evitar el parpadeo de la pantalla, apague la actualización de la pantalla.

Aplicación.Actualización de pantalla = Falso

3. Inicializar el directorio de variables. Usamos la función Dir para encontrar el primer archivo *.xl?? almacenado en este directorio.

directorio = «c:\N-testN» fileName = Dir(directorio & «*.xl??»)

Nota: la función Dir admite el uso de comodines de caracteres múltiples (*) y de un solo carácter (?) para buscar todos los tipos diferentes de archivos de Excel.

4. La variable fileName ahora contiene el nombre del primer archivo de Excel encontrado en el directorio. Añade un bucle Do While.

Do While fileName Bucle

Añade las siguientes líneas de código (en 5, 6, 7, 8 y 9) al bucle.

5. Inicializar las variables de tipo Entero y añadir el nombre del archivo de Excel a la primera columna de la fila i.

i = i + 1 j = 2 Celdas(i, 1) = nombre del archivo

6. No hay una forma sencilla de extraer datos (o nombres de hojas) de los archivos cerrados de Excel. Por lo tanto, abrimos el archivo de Excel.

Libros de trabajo. Abrir (directorio & nombre de archivo)

7. Añade todos los nombres de las hojas del archivo de Excel a las otras columnas de la fila i.

Para cada hoja de los libros de trabajo (nombre del archivo). Hojas de trabajo Cuadernos de trabajo(«files-in-a-directory.xlsm»).Hojas de trabajo(1).Celdas(i, j).Valor = hoja.Nombre j = j + 1 Próxima hoja

8. Cierra el archivo de Excel.

Cuadernos de trabajo(fileName).Close

9. La función Dir es una función especial. Para obtener los otros archivos de Excel, puedes usar la función Dir de nuevo sin argumentos.

fileName = Dir()

Nota: cuando no coinciden más nombres de archivos, la función Dir devuelve una cadena de longitud cero («»). Como resultado, Excel VBA dejará el bucle Do While.

10. 11. Encienda la actualización de la pantalla de nuevo (fuera del bucle).

Aplicación. Actualización de la pantalla = Verdadero

11. Pruebe el programa.

Resultado:

Deja un comentario