Enjoy A New Student Discount All 55,000 Courses on sale for Only $12.99

Ends in 05h 23m 49s

Excel.Macros.Ejercicios. Procesar los ficheros de un directorio

Hay veces que necesitamos saber que ficheros se encuentran en un directorio, por ejemplo para fusionarlos, para realizar procesos específicos de ficheros,…

Os presento una macro que recorre un directorio, y muestra todos los ficheros que contiene; a partir de ahi, podeis decidir que hacer con los mismos; en esta macro, se limita a enviarlos a una rutina que los va presentando en la hoja.

Las lineas clave son:

myfile = Dir(CurDir() & sep & "*.xls")

La función que nos facilita esta funcionalidad, es Dir() a la que le pasamos la ruta de la carpeta que deseamos recorrer, y la mascara para el tipo de fichero que deseamos visualizar.
En nuestro caso, le indicamos CurDir() que es otra función que nos facilitara el path en donde nos encontremos, mas *.xls para indicarle que deseamos todos los ficheros que posean esa extensión. Otros ejemplos de path validos serian:

C :\documentos\*.txt

D :\importacion\*.csv

Al ejecutar la sentencia indicada, a myfile llega el primer fichero que cumple con la condición, con el podemos entrar en un bucle Do while hasta que nos vuelva con un blanco, cosa que pasara cuando se acaben los fichero ; y para obtener el siguiente nombre, utilizamos otra vez la función Dir(), pero sin parámetros

Sub directorio()
    Dim myfile As String
    Dim sep As String
    sep = "\"
    myfile = Dir(CurDir() & sep & "*.xls")

   ' inicia un bucle hasta que se acaben los ficheros filtrados

   Cells(1, 1).Select
   Do While myfile <> ""
      procesa myfile
      myfile = Dir()
   Loop

End Sub
Sub procesa(fichero As String)
    ActiveCell.Value = fichero
    ActiveCell.Offset(1, 0).Select
End Sub

Deja un comentario

/*Si te ha gustado el artículo
no dudes en compartirlo*/

Facebook
Twitter
LinkedIn

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies

Ver mi IP

Ver ip de mi máquina
tipo valor
Ip: 3.145.63.136
Proxy: 3.145.63.136
Remote host: ec2-3-145-63-136.us-east-2.compute.amazonaws.com
Remote port: 50160
** 3.145.63.136, 172.70.178.200