Ruta de foto automática

Luis:
Buenos días, el archivo de excel maneja un formato y te pega la foto, pero a veces me da error de que no encuentra la ruta y otras veces no me da el error, el archivo siempre esta en una carpeta llamada SIE y dentro de ella esta la carpeta de Fotos.
Lo que me gustaría poder hacer es que busque en automático la ruta donde esta la carpeta de fotos que siempre esta dentro de la carpeta de SIE, porque No quiero que el código quede con una ruta "dura" si fuera dura quedaría algo así (d:\Carpeta1\carpeta2\SIE\Fotos) si no que sin importar cual sea la ruta, donde encuentre la carpeta de SIE, que ahí busque la carpeta de fotos.
solo le habia dejado Sheets(7).Image1.Picture = LoadPicture("Fotos\" & imagen & ".jpg") pero a veces trabaja y  a veces no encuentra la ruta.
El codigo es este, igual y te acuerdas:
Private Sub ComboBox1_Change()
    Dim f As Integer
    Dim imagen As String
    f = InStr(1, ComboBox1.Value, "%") + 1
    Hoja7. Activate
    ActiveSheet. Unprotect "perro"
    Pasar_dato (Mid(ComboBox1. Value, f, 5)) 'pega todos los datos en el formato
    imagen = Range("C66").Value 'toma el nombre sin el %
    'En la siguiente linea me da el error, que es donde busca la foto
    Sheets(7).Image1.Picture = LoadPicture("Fotos\" & imagen & ".jpg") 'a veces si trabaja y pone la foto, en otras ocasiones me da error 76 de que no encuentra la ruta.
    'Si le pongo toda la ruta "dura" no me da problema, pero los usuarios no siempre guardan el archivo en la misma dirección.
    'Sheets(7).Image1.Picture = LoadPicture("D:\Proc\RH\SIE\Fotos\" & imagen & ".jpg")
    Hoja7. Protect "perro"
    ActiveSheet. Protect "perro"
End Sub
Podrias por favor decirme que esta mal, o que puedo hacer, porque no se como decirle que busque la ruta, sin importar donde este.

1 respuesta

Respuesta
1
¿Qué "busque la ruta", significa que debe hacer un rastero en el disco duro ( o los discos duros si tienes más de uno y ... si estas conectado a una red LAN?... ¿Debe buscar en toda la red?) .
Si deseas volver dinámica la path de la carpeta... te sugiero le edites en alguna celda de excel y desde allí mediante código rescatas esta ruta.
Declaras una variable string y le pasas el valor de la celda que contandra la ruta
ruta=[c1]
en donce c1 contiene:  D:\Proc\RH\SIE\Fotos\
luego:
Sheets(7).Image1.Picture = LoadPicture(ruta & imagen & ".jpg")

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.

Más respuestas relacionadas