Cambiar macro para la ruta que tome sea el que indique una celda.

Tengo una macro que lista los archivos de una determinada carpeta y los coloca en un listbox. La dirección de donde toma la dirección se encuentra en forma estática. Me gustaría me indiquen para que esa dirección dependa de la ruta que se encuentre en la celda J1.

La macro es la siguiente:

Private Sub Userform_initialize()
    Me.Height = 270
    Me.ComboBox3.List = Application.Transpose(Hoja1.Range("c3").CurrentRegion.Resize(1).Value)
    Application.EnableEvents = False
    c00 = "C:\Users\Downloads\" 'change path to suit '<---colocar direccion como indique de celda I1
    c01 = Dir(c00 & "*.pdf")
    With CreateObject("scripting.filesystemobject")
        Do While c01 <> ""
            c02 = c02 & "|" & .GetBaseName(c00 & c01)
            c01 = Dir
        Loop
    End With
    With ComboBox4
        .ListIndex = -1
        .List = Split(Mid(c02, 2), "|")
    End With
    Application.EnableEvents = True
End Sub
Private Sub ComboBox4_Click()
    'change path to suit
    Filename = "C:\Users\Downloads\" & ComboBox4.Value & ".pdf" <---colocar direccion como indique de celda I1
    ShellExecute 0, "Open", Filename, "", "", vbMaximizedFocus
    ComboBox4.ListIndex = -1
End Sub

2 respuestas

Respuesta
1

Ya intentaste poner la ruta en j1 C:\Users\Downloads\ y luego en la macro poner, así si pones la ruta en j1 este valor sera tomado por la macro

c00 = range("j1")
Respuesta
1
Private Sub Userform_initialize()
    xCel = Activesheet.Range("J1")
    Me.Height = 270
    Me.ComboBox3.List = Application.Transpose(Hoja1.Range("c3").CurrentRegion.Resize(1).Value)
    Application.EnableEvents = False
    c00 = xCel '<---colocar direccion en celda J1
    c01 = Dir(c00 & "*.pdf")
    With CreateObject("scripting.filesystemobject")
        Do While c01 <> ""
            c02 = c02 & "|" & .GetBaseName(c00 & c01)
            c01 = Dir
        Loop
    End With
    With ComboBox4
        .ListIndex = -1
        .List = Split(Mid(c02, 2), "|")
    End With
    Application.EnableEvents = True
End Sub
Private Sub ComboBox4_Click()
    'change path to suit
    Filename = xCel & ComboBox4.Value & ".pdf" <---colocar direccion como indique de celda I1
    ShellExecute 0, "Open", Filename, "", "", vbMaximizedFocus
    ComboBox4.ListIndex = -1
End Sub

Prueba si te funciona asi....

Hola, ¿cómo estas? Copie y pegue tu propuesta y sin embargo no funcionó.

¿Te envío el archivo para que lo veas?

Saludos.

Claro envíamelo y le doy una ojeada..

Este es mi correo

Pagina loka esta siempre mismo drama, te borra lo que escribes... U.U

[email protected]

"Página loca" ja ja y yo pensaba que era un problema de mi pc.

Ahí te envíe el correo con su adjunto.

Saludos

No comprendo mucho tu archivo que es lo que deseas hacer ya que aparentemente recién inicias tu proyecto todavía no tiene mucha forma je je.. pero si lo que quieres es que aparezca en el combobox3 lo que esta en J1 al presionar los OptionButton solo pon esto dentro de cada uno ..

Me.ComboBox3 = Range("j1")

Busque donde tienes la otra macro que habias publicado pero no la encontre o hay demaciado desorden xD jeje..

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas