Carga de imagen desde ruta relativa VBA Excel
Tengo una carpeta "BF Aircraft" que contiene un archivo Excel "BF Aircraft.xlsm" y otra carpeta "imagenes" donde están todas las fotos según el modelo y serie de aeronaves.
En el formulario del archivo hay un control Image1 que carga la imagen según el modelo de la aeronave y otro formulario similar donde me permite actualizar los datos técnicos y cambiar la foto si se requiere.
El problema es cuando llevo la carpeta "BF Aircraft" a otro PC la ruta es distinta y no muestra la foto que previamente había guardado.
En el archivo la columna que lista los nombres de aeronaves está en la columna B y la ruta de imagen está en la columna BI por lo que siempre está relacionado, por ejemplo:
Aeronaves (Columna B):
Fila 2: Boeing 737-900
Fila 3: Boeing 737-Max 10
Fila 4: Airbus 320-100
Ruta de imagen (Columna BI)
fila 2: C:\Users\Fernando\Documents\Proyectos\BF Aircraft\imágenes\Boeing 737\Boeing 737-900.jpg
fila 3: C:\Users\Fernando\Documents\Proyectos\BF Aircraft\imágenes\Boeing 737\Boeing 737-MAX10.jpg
fila 4: C:\Users\Fernando\Documents\Proyectos\BF Aircraft\imágenes\Airbus 320\Airbus 320-100.jpg
Pero cuando traslado la carpeta a otra computadora ya en el control Image1 no está la foto genera un error de ejecución.
Este es el código que utilizo:
Private Sub ButtonSelecImage_Click() xfile = Application.GetOpenFilename("Image files(*.jpg;*.bmp;*.gif;*.ico),*.jpg;*.bmp;*.gif;*.ico") If xfile <> "Falso" Then Image1.Picture = LoadPicture(xfile) TextBox51 = xfile End If End Sub
¿Qué debo hacer?