Sunteți pe pagina 1din 3

LISTAR EL NOMBRE DE ARCHIVOS .

PDF CONTENIDO EN LA CARPETA:

Para que este código funcione se tiene que referenciar The FileSystemObject a su librería: The FileSystemObject está
presente dentro de la librería Microsoft Scripting Runtime i.e. Scrrun.dll. Esta DLL soporta la creación y manipulación de
archivos usando TextStream object

Creando una referencia de Microsoft Scripting Runtime Library:


Para crear una refencia a Microsoft Scripting Runtime Library sigue los siguientes pasos:

 First of all open the VBA editor by pressing “Alt + F11”.

 Next, navigate to “Tools” > “Reference” as shown above.

 This will open a references window. Here select and check the entry “Microsoft Scripting Runtime” and click
“OK”.

 Now the reference to Microsoft Scripting Runtime Library has been added.
EXTRAER LISTA EL NOMBRE DE ARCHIVOS TIPO “.PDF” CONTENIDOS EN CARPETA

Public Sub DIR_EnHojaDeCálculo()


Dim fso As New FileSystemObject
Dim fsFolder As Folder
Dim fsFile As File
Dim wksH As Worksheet

Dim lngContLínea As Long


lngContLínea = 2

Set fsFolder = fso.GetFolder("C:\Users\usuario1\documentos") 'Directorio que se mostrará.


Set wksH = Worksheets("lista") '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"  se puede quitar comentario para agregar este dato al resultado
' .Range("C1") = "Fecha Modif."  se puede quitar comentario para agregar este dato al resultado
' .Range("D1") = "Nombre largo"  se puede quitar comentario para agregar este dato al resultado

For Each fsFile In fsFolder.Files

.Cells(lngContLínea, 1) = fsFile.Name
' .Cells(lngContLínea, 2) = fsFile.Size  se puede quitar comentario para agregar este dato al resultado
' .Cells(lngContLínea, 3) = fsFile.DateLastModified se puede quitar comentario para agregar este dato al resultado
' .Cells(lngContLínea, 4) = fsFile.ShortName  se puede quitar comentario para agregar este dato al resultado

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

WEB-GRAFIA (BIBLIOGRAFÍA)

VBA-PROCEDIMIENTOS Y FUNCIONES
http://www.jrgc.es/vba01.htm

INFO y USO de FileSystemObjet


https://www.exceltrick.com/formulas_macros/filesystemobject-in-vba/

S-ar putea să vă placă și