Macro que liste nombres de archivo por periodos específicos.
Ando atorado y espero que ustedes me puedan apoyar, verán, tengo una carpeta con 'n' cantidad de archivos, para esto hice una macro que me liste los nombres de los archivos .xml y .pdf para verificar contra otros datos... El problema es que la cantidad de datos es enorme... Lo que quiero es que este código únicamente aplique al periodo que yo determine, en este caso, Febrero.
Cabe resaltar que no puedo hacer subcarpetas, tengo que tomar la información de ese gran total de archivos y listarlos... Espero haberme explicado.
Anexo mi código.
Sub LasCarpetas()
'
With Application
.ScreenUpdating = False
.DisplayAlerts = False
.EnableEvents = False
End With
'
Dim NombreCarpeta As String
'
NombreCarpeta = "Y:\"
'
Call ShowFolderList(NombreCarpeta)
'
With Application
.ScreenUpdating = True
.DisplayAlerts = True
.EnableEvents = True
End With
'
End Sub
Sub ShowFolderList(LaCarpeta As String)
'
With Application
.ScreenUpdating = False
.DisplayAlerts = False
.EnableEvents = False
End With
'
Dim NombreSubCarpeta As String
Dim lectura As String
Dim ultimo As Integer
Dim rango1, rango2 As String
Dim yo As Workbook
Dim hoja As Worksheet
'
Set yo = Workbooks("Lector")
Set hoja = Sheets("hoja1")
'
Set FileSys = CreateObject("Scripting.FileSystemObject")
Set Folder = FileSys.GetFolder(LaCarpeta) ' Asigna la carpeta a la variable Folder
Set ListaCarpetas = Folder.Subfolders ' Asigna la lista de Subcarpetas a la variable ListaCarpetas
Set ListadoArchivos = Folder.Files ' Asigna la lista de Archivos a la variable ListadoArchivos
'
For Each Archivo In ListadoArchivos
If InStr(1, Archivo.Name, ".xml", vbTextCompare) Then
lectura = Archivo.Name
yo.Activate
End If
'
ultimo = Cells(Rows.Count, 1).End(xlUp).Row
rango1 = "A" & ultimo + 1
'
Range(rango1).Value = lectura
'
Next Archivo
'
For Each Archivo In ListadoArchivos
If InStr(1, Archivo.Name, ".pdf", vbTextCompare) Then
lectura = Archivo.Name
yo.Activate
End If
'
ultimo = Cells(Rows.Count, 5).End(xlUp).Row
rango1 = "A" & ultimo + 1
'
Range(rango1).Value = lectura
'
Next Archivo
'
MsgBox "Se ha validado la información de las facturas y xml", vbOKOnly, "Lector de archivos"
'
With Application
.ScreenUpdating = True
.DisplayAlerts = True
.EnableEvents = True
End With
'
End Sub
1 Respuesta
Respuesta de Dante Amor
1