¿Cómo listar una sola extensión de archivos?

Gusto de saludarlos.

Cuento con una macro que agrega los archivos que se encuentran en una carpeta determinada al elegirlo desde un combobox. ¿Cómo se puede listar una sola extensión de los archivos que se encuentran en dicha carpeta elegida? El formato que quiero que solo se vea disponible es PDF.

La macro con la que cuento es:

Private Sub UserForm_Initialize()
On Error Resume Next
DisplayAlerts = True
Application.ScreenUpdating = True
Dim Path As String
Dim fila As Integer
fila = 2
'Se crea FileSystemObject que da acceso al sistema de archivos del sistema
Set fso = CreateObject("Scripting.FileSystemObject")
'Indicamos la ruta de donde vamos a obtener
Ruta = "C:\Users\Downloads\"
Path = CreateObject("shell.application").browseforfolder(0, "Seleccione Carpeta", &H100, Ruta).Items.Item.Path
 If Path = "" Then
 MsgBox "No has seleccionado ningún directorio, selecciona un directorio .", , "AVISO"
 Exit Sub
 End If
'Definimos variables para determinar nombre de archivos y subcarpetas
Set carpeta = fso.getfolder(Path)
Set ficheros = carpeta.Files
'Archivos
For Each ficheros In ficheros
    b = ficheros.Name
    ComboBox1.AddItem b
Next ficheros
DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

1 Respuesta

Respuesta
1

Prueba modificando así esta parte de tu macro, la variable documento leerá la ruta completa del archivo incluyendo nombre y extensión con esta información obtendrá la extensión si es PDF la incluirá en el combobox de lo contrario la ignorara

For Each ficheros In ficheros
    b = ficheros.Name
    documento = ficheros.Path
    extension = UCase(fso.getextensionname(documento))
    If extension = "PDF" Then ComboBox1.AddItem b
Next ficheros

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas