En un artculo pasado creamos una macro para listar los archivos de una carpeta y colocar sus nombres en las celdas de una columna de Excel. Sin embargo es posible mejorar dicha macro para incluir todos los archivos contenidos en las subcarpetas y eso ser precisamente lo que haremos en esta ocasin.
La carpeta principal contiene 5 archivos y 2 subcarpetas. Cada una de las subcarpetas contiene 5 archivos a la vez por lo que en total tenemos 15 archivos entre la carpeta principal y las subcarpetas. Nuestro objetivo ser crear una macro para listar todos los archivos tanto de la carpeta principal como de sus subcarpetas.
El objeto FilsSystemObject es de gran utilidad para tener acceso al sistema de archivos de cualquier equipo. Este objeto nos permite manipular archivos, carpetas, sus rutas de acceso e inclusive podemos obtener informacin del sistema de archivos. Para crear este tipo de objeto en VBA utilizamos la siguiente instruccin:
Con esta instruccin habremos creado un objeto FileSystemObject el cual podremos acceder a travs de la variable fs. A lo largo del cdigo de nuestra macro utilizar algunos mtodos del objeto FileSystemObject y para cada uno dar una breve explicacin que te permita comprender su funcionamiento.
En la seccin 1 de cdigo observars la declaracin de las variables utilizadas en la macro as como la creacin del objeto FilsSystemObject y su asignacin a la variable fs. La seccin 2 analiza el parmetro ruta de la subrutina para saber si dicha cadena de texto est vaca y en tal caso salir del procedimiento. De lo contrario se revisa que dicha ruta termine con una diagonal invertida y de no ser as se hace una concatenacin de dicho carcter.
En la seccin 4 utilizamos la instruccin For Each para recorrer todos los archivos devueltos por el mtodo Files y que estn contenidos en la carpeta principal. Para cada archivo encontrado se concatena su ruta y su nombre y se asigna al valor de la celda activa. Posteriormente activamos la celda inferior a la celda activa de manera que la seleccin quede lista para el siguiente archivo.
La seccin 5 obtiene las subcarpetas con el mtodo SubFolders y para cada una de ellas se vuelve a ejecutar la macro Mostrar_Archivos lo cual ocasionar que se repita todo el proceso hasta imprimir todos los archivos contenidos en cada una de ellas.
Finalmente la seccin 6 se encarga de auto ajustar el ancho de la columna de la celda activa de manera que se puedan visualizar correctamente todos los nombres de archivos. Finalmente se ejecuta la instruccin Exit Sub para salir del procedimiento.
Para iniciar la prueba debo seleccionar la celda donde deseo que se listen los archivos ya que la macro comenzar a insertar los nombres a partir de la celda activa. Posteriormente hago clic en el botn y se mostrar el cuadro de dilogo solicitando la ruta de la carpeta.
Si comparas el contenido de las celdas de la columna A con los archivos mostrados en la imagen al inicio de este artculo podrs comprobar que se han listado todos los archivos de la carpeta principal y de sus subcarpetas.
A continuacin dejo el vnculo de descarga que contiene el libro de trabajo con la macro recin creada. Adems encontrars la carpeta de ejemplo con los archivos y subcarpetas de manera que puedas realizar las pruebas por ti mismo.
Por favor me ayudan con una macro para listar las Carpetas, archivos,
SubCarpetas y archivos de las SubCarpetas en una Hoja de Excel.Colocaria en la celda A1, la ruta de de la Carpeta madrea y que me
traiga la informacin de esta manera:Columna A = Ruta Carpeta
Columna B = Nombre Archivo
Columna C = Tamao del Archivo
Columna D = Fecha Modificacin
Columna E = Tipo de ArchivoEspero que me puedan ayudar con esto.Saludos,
Angelo V.
> ... macro para listar las Carpetas, archivos, SubCarpetas y archivos de las SubCarpetas en una Hoja de Excel.
> Colocaria en la celda A1, la ruta de de la Carpeta madrea y que me traiga la informacion de esta manera:
un saludo
Pedro J.Posdata:
Por cierto, tu frase
... si tienes algun dato mas "en el tintero" ? (es hora de comentarlo)
me ha hecho recordar viejas cosas....hacia tiempo que no la escuchaba...
Agrega un formulario que nos permite elegir una carpeta de nuestra PC para listar los archivos conternidos en una nueva hoja de Excel. De la misma manera nos permite filtrar por extesin, adems de que podemos elegir si hace la bsqueda por subcarpetas.
pero tambien lista los archivos inherentes al sistema como thumbs.db y fotos de las portadas de los albumes del artista al que pertenece la cancion.
hace un tiempo escuch de un cdigo que evitaba esto
ojala puedas ayudarme
sergio, es cierto lo que dices, pero si quisiera listar una carpeta que tenga varios tipos de archivos no lo podra hacer, lo que pasa es que estoy haciendo una macro con la apariencia de explorador, me explico: le doy una sangria a las subcarpetas que tenga el archivo para que no parezca plano, lo he logrado, pero tengo este problema de que lista los archivos del sistema como thumbs.db, y fotos miniatura de archivos de audio y video.
sergio, se que tienes mas experiencia en esto y de seguro conoces un cdigo que logre solucionar este problema.
una vez termine la macro te la enviar para que la revises y la mejores.
amigo, como puedo hacer para que no se listen los archivos de base de datos del sistema, me explico:
tengo
una carpeta con canciones (mp3, la macro las lista pero tambien lista
los archivos inherentes al sistema como thumbs.db y fotos de las
portadas de los albumes del artista al que pertenece la cancion.
hace un tiempo escuch de un cdigo que evitaba esto
ojala puedas ayudarme
Hace varios meses publiqu un post en el que trataba la forma de listar todos los archivos contenidos en una carpeta y subcarpetas: LISTAR TODOS LOS ARCHIVOS DE UNA CARPETA Y SUS SUBCARPETAS CON VBA
Hoy un lector me preguntaba la posibilidad de aadir a esta informacin la fecha de la ltima modificacin en cada archivo listado. En realidad podemos obtener muchas ms propiedades que nos pueden ser de utilidad segn el tipo de necesidad que tengamos.
Como podis observar, utilizando el objeto file con el que anteriormente obtenemos su ruta, tambin podemos obtener una serie de propiedades, entre ellas la fecha de la ltima modificacin DateLastModified
Mediante la suscripcin al blog, la realizacin comentarios o el uso del formulario de contacto ests dando tu consentimiento expreso al tratamiento de los datos personales proporcionados segn lo dispuesto en la ley vigente (LOPD). Tienes ms informacin al respecto en esta pgina del blog: Poltica de Privacidad y Cookies
Soy administrador de un contrato de traducciones y manejo un gran volumen de archivos en su mayoria Word pero hay algunos Excel y pdf , la consulta es si hay alguna forma de poder contar las palabras de esos archivos sin abrirlos y volcar esos datos en un Excel, muchas gracias.
Lo desconozco, en esta web todo lo que programo est relacionado con Excel y VBA. Por ejemplo el listar todas las palabras de archivos Excel (que me habas preguntado) te lo publiqu como un post. Siento no poder ayudarte con esto, pero intenta buscar en la red si existe algn tipo de programa especfico que sea capaz de leer el contenido de archivos Excel y PDF y listar palabras o contarlas.
Ninguna de las propiedades el objecto file permite extraer el ancho y algo de la imagen. Eso solo lo podremos hacer si tenemos la imagen en la hoja Excel, a la que podremos acceder a travs de las propiedades del objeto shape.
oK, S tienes razn. El error no es por la versin ni por las filas, es el lmite que microsoft tiene para cuantos hipervnculos se pueden indicar en un archivo Excel. Por lo que he podido investigar es as desde 2003 en adelante (2019).
Primeramente, agradecerte el aporte. Es excelente.
En segundo lugar, agradecera mucho que me ayudaras a crear una macro que permita seleccionar un archivo en concreto y listar todas sus propiedades (hipervnculo, fecha de creacin, fecha de ltima modificacin, etc.), agregando dicha informacin en la primera fila sin datos.
Hola Segu
me gustaria saber si se puede listar las coordenadas de una carpeta que contiene archivos de fotografas que contienen metadatos con las coordenadas gps de donde se realizo las fotografas
Perdona por al demora en responder. Se podra listar si el dato es una propiedad del archivo. Tendra que ver un ejemplo de lo que quieres realizar o un ejemplo de uno de esos archivos y lo que esperas poder extraer.
Hola
Muchas gracias por tu rpida respuesta
Las coordenadas gps de los archivos jpg no estn en las propiedades estn dentro de los metadatos
Lo que pretendo hacer es listas en Excel los nombres de los archivos de una carpeta y en otra columna las coordenadas GPS que estn en todas las fotografas que se toman con telfono que tenga activado el GPS
Saludos
en la columna a en lugar de que pregunte la carpeta yo necesito poner las direcciones (N candidad de direcciones) y que a la derecha me ponga la nombre archivo, fecha modificacion (solo del arvhico modificado mas recientemente y el mas antiguo)
NOTA: me debe poner dar el archivo mas reciente y mas antiguo que se encuentre en la direccion de la columna A (debe considerar todos los archivos que se encuentren dentro incluyendo subcarpetas, pero al final solo mostrar el ultimo y el primero de todos)
Hola Segu, gran trabajo y no solo inicial, si no ademas contestando y mejorandolo con todas las preguntas.
Yo te quisiera hacer otra: Dentro de las propiedadas de ficheros TIFF, jpg y pdf tambien tenemos las propiedades de Resolucion Horizontal y Resolucion Vertical (son propiedades como las de fecha de ultima modificacion o tamao) Como se podrian extraer?.
Muchas gracias de antemano.
Hola! Muchas gracias por vuestros aportes. Mi duda es parecida a lo que se habla en este hilo, pero mucho ms sencilla ( creo ). Slo necesito listar las subcarpetas que hay dentro de una carpeta dada y la fecha de creacin de esas subcarpetas. Es decir, necesito obtener un listado de dos columnas, la primera con el nombre de la subcarpeta ( no la ruta, slo el nombre ) y otra columna con la fecha de su creacin en formato dd/mm/yyyy. Es muy complicado esto? Muchas gracias de antemano
d3342ee215