Listar el nombre de los archivos según fecha de modificación

Espero estés ok. Tengo la siguiente duda:

En una carpeta tengo muchos archivos y necesito que la macro me liste en una columna de Excel, sólo los nombres de aquellos archivos que fueron modificados en una fecha determinada (que podría ser la fecha del día actual).

Tengo el siguiente código pero es muy demorado porque toma TODOS los archivos de la carpeta y son más de 3 mil. Los que necesito son tan sólo 20 de la fecha actual.

¿Cómo puedo hacer eso?

Muchas gracias

Fila = 2

  Set Carpeta = FSO.GetFolder(Ruta) 'Guarda la ruta

  Set Archivos = Carpeta.Files 

  For Each Archivo In Archivos 

      ThisWorkbook.Sheets("Parametros").Range("AK" & Fila) = Archivo.Name 

      ThisWorkbook.Sheets("Parametros").Range("AL" & Fila) =                

       Archivo.DateLastModified 

      Fila = Fila + 1 

  Next

1 Respuesta

Respuesta
1

H o l a:

En el siguiente enlace existe una macro para listar los archivos con sus propiedades:

http://excelforo.blogspot.mx/2012/05/vba-una-macro-en-excel-para-listar-las.html 

Sub ListarPropiedadesFicherosCarpeta()
'www.excelforo.com
Dim Ruta As String
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Creamos el objeto FileSystemObject que
'proporciona acceso al sistema de archivos de un equipo
Set fso = CreateObject("Scripting.FileSystemObject")
'Indicamos la ruta de donde vamos a obtener
'los ficheros, en este caso D:\BancoFotos
Ruta = "D:\BancoFotos\"
'definimos dos variables que necesitaremos,
'para recuperar el nombre de la carpeta, y los ficheros que haya dentro
Set Carpeta = fso.GetFolder(Ruta)
Set ficheros = Carpeta.Files
'damos un título en negrita para la celda A1
Range("A1").Value = "Ficheros de la carpeta " & Ruta
Range("B1").Value = "Fecha creación"
Range("C1").Value = "Fecha último acceso"
Range("D1").Value = "Fecha última modificación"
Range("E1").Value = "Tipo archivo"
Range("F1").Value = "Tamaño en bytes"
Range("G1").Value = "Ruta corta"
Range("H1").Value = "Nombre corto"
Range("I1").Value = "Atributo"
Range("J1").Value = "Ruta completa"
Range("A1:J1").Font.Bold = True
'escribimos los ficheros, a partir de A2
Range("A2").Select
For Each archivo In ficheros
    'escribimos el nombre del fichero
    ActiveCell = archivo.Name
    ActiveCell.Offset(0, 1) = archivo.DateCreated
    ActiveCell.Offset(0, 2) = archivo.DateLastAccessed
    ActiveCell.Offset(0, 3) = archivo.DateLastModified
    ActiveCell.Offset(0, 4) = archivo.Type
    ActiveCell.Offset(0, 5) = archivo.Size
    ActiveCell.Offset(0, 6) = archivo.shortpath
    ActiveCell.Offset(0, 7) = archivo.shortname
    ActiveCell.Offset(0, 8) = archivo.Attributes
    ActiveCell.Offset(0, 9) = archivo.Path
    'bajamos una fila
    ActiveCell.Offset(1, 0).Select
Next archivo
Range("A:J").EntireColumn.AutoFit
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Limpiamos los objetos y variables definidas
Set fso = Nothing
Set Carpeta = Nothing
Set ficheros = Nothing
Application.ScreenUpdating = True
End Sub

Ya con los datos en las columnas de excel puedes filtrar los archivos que necesites.

':)
S a l u d o s . D a n t e A m o r
':) Si es lo que necesitas. Recuerda valorar la respuesta. G r a c i a s.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas