Un saludo, me gustaría que alguién me pudiese explicar paso por paso las
líneas del siguiente código:
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
Muchas de ellas las entiendo, pero otras en cambio no se a que se refiere.
Por ejemplo:
Range("a1:e1").EntireColumn.AutoFit -- Quiere decir que el rango
establecido tenga el formato de columna autoajustar
En este otro ejemplo no se bien para que se utilizan los dos puntos:
Dim Carpeta As String: Carpeta = Range("a1"): Cells.Clear
Leer las respuestas