¿Cómo obtener la fecha de modificación de un archivo?

06/10/2009 - 21:20 por Oswaldo | Informe spam
Necesito obtener la fecha de modificación y el tamaño de los archivos de una
carpeta.
 

Leer las respuestas

#1 Héctor Miguel
06/10/2009 - 21:52 | Informe spam
hola, Oswaldo !

Necesito obtener la fecha de modificacion y el tamano de los archivos de una carpeta.



el siguiente ejemplo (que puedes adaptar para otras necesidades)...
1) toma la carpeta predeterminada que pongas en 'A1' (p.e. -> c:uta y\sub-carpeta)
2) pone en el rango 'A2:E2' los titulos para los atributos de los archivos
3) a partir de la fila 3, vacia los nombres de los archivos que se encuentren (y algunos de sus atributos)
4) en el primer procedimiento, la ultima linea, al final lleva un argumento opcional para incluir sub-carpetas

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

' en un modulo de codigo 'normal' ==
Sub LIsta_de_archivos()
Application.ScreenUpdating = False
Dim Carpeta As String: Carpeta = Range("a1"): Cells.Clear
Range("a2:e2") = Array("Ruta", "Nombre", "Tamaño", "Modificado", "Tipo")
Listar_archivos_en Carpeta, True
End Sub

Sub Listar_archivos_en(Carpeta As String, Completo As Boolean)
Dim Archivo, SubCarpeta, Fila As Long
Fila = Range("a65536").End(xlUp).Row + 1
With CreateObject("scripting.filesystemobject")
With .GetFolder(Carpeta)
For Each Archivo In .Files
With Archivo
Range("a" & Fila & ":e" & Fila) = Array( _
Application.Substitute(.Path, .Name, ""), .Name, .Size, .DateLastModified, .Type)
End With
Fila = Fila + 1
Next
If Completo Then
For Each SubCarpeta In .SubFolders
Listar_archivos_en SubCarpeta.Path, True
Next
End If
End With
End With
Range("a1:e1").EntireColumn.AutoFit
Range("a1") = Carpeta
Debug.Print ActiveSheet.UsedRange.Address
End Sub

Preguntas similares