Gracias Fernado Arroyo
Creo si me sirven las macros de tu sitio para listar el contenido de una
carpeta x
Pero el problema que tengo es que no se nada de macros
y no se como configurarla, resulta que copie el siguiente codigo para
pegarlo en el editor de visual y lo guarde, genero la macro y me despliega
un mensaje que dice
"Nose ha Definido el tipo definido por el usuario"
Como puedo configurarla
Nombre de mi carpeta "archivos"
Nombre de mi carpeta para guardar "bunker"
Ambas en C:/
Este es el codigo
Sub DIR_Hoja1()
Dim fso As New FileSystemObject
Dim fsFolder As Folder
Dim fsFile As File
Dim wksH As Worksheet1
Dim lngContLínea As Long
lngContLínea = 2
Set fsFolder = fso.GetFolder("C:ARCHIVOS") 'Directorio que se mostrará.
Set wksH = Worksheets("C:BUNKER") 'Hoja en que se volcarán los datos
On Error GoTo ManejoErrores
With wksH
'Poner algunos títulos en la hoja de cálculo
.Range("A1") = "Nombre"
.Range("B1") = "Tamaño"
.Range("C1") = "Fecha Modif."
.Range("D1") = "Nombre largo"
For Each fsFile In fsFolder.Files
.Cells(lngContLínea, 1) = fsFile.ShortName
.Cells(lngContLínea, 2) = fsFile.Size
.Cells(lngContLínea, 3) = fsFile.DateLastModified
.Cells(lngContLínea, 4) = fsFile.Name
lngContLínea = lngContLínea + 1
Next fsFile
.Cells(lngContLínea, 2).FormulaLocal = "=SUMA(B2:B" &
Trim(Str(lngContLínea) - 1) & ")"
.Range("B2:B" & Trim(Str(lngContLínea))).NumberFormat = "#,##0"
.Columns("A:D").AutoFit
End With
Set wksH = Nothing
Set fsFile = Nothing
Set fsFolder = Nothing
Set fso = Nothing
Exit Sub
ManejoErrores:
'En Windows XP, algunos ficheros del sistema (como el de paginación)
carecen de nombre corto, por lo que hay que capturar el error que se produce
al intentar acceder a él (propiedad ShortName).
If Err.Number = 5 Then
Resume Next
Else
MsgBox prompt:="Error " & Err.Number & " " & Err.Description,
Buttons:=vbOKOnly + vbCritical
Exit Sub
End If
End Sub
End Sub
Leer las respuestas