miércoles, 13 de mayo de 2009

Listar los Archivos de una Carpeta y Subcarpetas



Otra forma de listar los archivos contenidos en una carpeta. Permite introducir un filtro para los archivos buscados, una extension concreta y buscar o no en subcarpetas.
Quiza la peculiaridad radica en que uso el conocido y explicado en la propia ayuda de access metodo de buscar archivos con Dir, pero esta función no puede usarse en procedimientos recursivos y por tanto no se puede utilizar más que para conocer el contenido de un directorio... a no ser que en un array introduzca las subcarpetas que contiene este directorio, y llames de nuevo a la funcion, tantas veces como carpetas con subcarpetas haya.

Descargatelo Aqui

Para Access 2000 o superior

6 comentarios:

antperlop dijo...

Estimado y maestro Taribo:
Mirando este magnifico ejemplo, he intentando adaptarlo a mis necesidades con resultado negativo (soy bastante torpe). Te cuento lo que necesito y te pido que si puedes me hagas el favor de indicarme que debo hacer.
Necesito guardar en una tabla solo los nombres de carpetas de este path c:\gil\archivos digitalizados\ y aqui un monton de carpetas con apellidos y nombre.
Gracias Tabo

taribo dijo...

Por ejemplo, te puede servir esta funcion:

Sub ListarSubCarpetas(NombreCarpeta)
Dim fso As Object
Dim carpeta As Object
Dim subCarpeta As Object
Dim ListaSubcarpetas As String

ListaSubcarpetas = "LISTADO DE SUBCARPETAS:" & vbCrLf

Set fso = CreateObject("Scripting.FileSystemObject")
Set carpeta = fso.GetFolder(NombreCarpeta)

'Recorremos la carpeta
For Each subCarpeta In carpeta.SubFolders
ListaSubcarpetas = ListaSubcarpetas & "- " & subCarpeta.Name & vbCrLf
Next

Set carpeta = Nothing
Set fso = Nothing

MsgBox ListaSubcarpetas

End Sub

No obstante, te recomiendo que para resolver cualquier duda, formules tu pregunta en:

http://www.mvp-access.com

un saludito

antperlop dijo...

Gracias Taribo, con tus dos ejemplos he resuelto lo que queria.

Gaby dijo...

Taribo, realmente es genial tu ejemplo. Lo que yo necesitaría agregar es el tamano y la última fecha de modificación de los archivos listados. Es posible agregar estos datos en cada registro?

Gracias Gaby

5 dijo...

Hola Taribo. Tendría usted esa misma base de datos que tiene en los ejemplos entera para pasarmela?¿ es muy buena. Un saludo

Gustavo dijo...

Gracias Taribo por este ejemplo. Lo he descargado para revisar y adaptarlo a mi necesidad, ya que me permite registrar la carpeta y abrir los archivos haciendo doble click. Ya te comentaré como me va. Un saludo.
Gustavo. Mendoza Argentina