Sub MuestraFicherosCarpetas(ByVal NombreCarpeta) Dim ObjetoFSO As Object, Carpeta As Object Dim SubCarpeta As Object, Archivos As Object Dim Archivo As Object Set ObjetoFSO = CreateObject("Scripting.FileSystemObject") Set Carpeta = ObjetoFSO.GetFolder(NombreCarpeta) Set Archivos = Carpeta.Files For Each Archivo In Archivos 'aqui sacamos la lista de los ficheros 'y las propiedades que quieras de ellos Debug.Print NombreCarpeta _ & "\" & Archivo.Name Debug.Print Archivo.DateCreated Debug.Print Archivo.datelastaccessed Debug.Print Archivo.Size Debug.Print Archivo.DateLastModified Debug.Print Archivo.Attributes Debug.Print Archivo.Type Next Set Archivos = Nothing ' Esto sería para Carpetas y subcarpetas ' y archivos contenidas en la carpeta actual. ' Si observas, utilizamos recursividad, pues 'la funcion se llama así misma: For Each SubCarpeta In Carpeta.SubFolders MuestraFicherosCarpetas NombreCarpeta _ & "\" & SubCarpeta.Name Next Set Carpeta = Nothing Set ObjetoFSO = Nothing End Sub