¿Combobox lista archivos a partir de una ruta determinada?

Les consulto en esta oportunidad como se puede listar los archivos y agregarlos a un combobox desde una carpeta determinada sin que la macro se con la que cuento lo haga desde la raíz "C" sino más bien acotar la misma a "C:\Users\Soprano\Downloads"

Dentro de la carpeta Downloads va a haber más carpetas.

Mi macro es

Private Sub CommandButton1_Click()
On Error Resume Next
Dim uf As Integer
If ComboBox1 = Empty Then
MsgBox ("Debe seleccionar archivo"), vbCritical, "AVISO"
ComboBox1.SetFocus
Exit Sub
End If
uf = Sheets("hoja1").Range("A" & Rows.Count).End(xlUp).Row
Cells(uf + 1, 1) = ComboBox1
End Sub
Private Sub CommandButton2_Click()
Unload Me
End Sub
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
Path = CreateObject("shell.application").browseforfolder(0, "Seleccione Carpeta", 0).Items.Item.Path
 If Path = "" Then
 MsgBox "No has seleccionado ningún directorio, selecciona un directorio .", , "AVISO"
 Exit Sub
 End If
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
2

Esta es una macro de prueba que puedes adaptar a la tuya, en esta caso la macro selecciona dentro del browserforfolder una ruta muy especifica: c:\bibliotecas\programacion 

 

 y esta es la linea que debes cambiar 

Sub prueba()
ruta = "c:\bibliotecas\programacion"
Path = CreateObject("shell.application").browseforfolder(0, "Seleccione Carpeta", &H100, ruta).Items.Item.Path
End Sub

Hola, muchas gracias por la pronta respuesta.
Te consulto, ¿en qué parte del código que tengo debería agregar tu colaboración?

Gracias-

Tienes una variable llamada path esa variable la cambias por la línea de código que te envíe, la variable ruta la puedes poner si quieres desde el inicio de la macro

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas