Incrustar imágenes en Excel desde carpeta en Google Drive

Soy un aficionado al Excel y estoy creando una tabla con un código que he encontrado en internet que me permite ir modificando las imágenes de una celda ActiveX en función al nombre de la celda en una misma columna.

Hasta aquí todo bien, pero para poder enviar este fichero a terceras personas necesitaría también enviar la carpeta de imágenes.

Mi pregunta es si hay forma de cambiar el path de la dirección de carpeta de imágenes para que sea de una carpeta que este en un lugar publico. Google Drive, Dropbox, etc... De este modo solo enviando el Excel y haciendo publica esa carpeta podría enviar la tarifa con las imágenes sin que tuviera mucho peso.

¿Me podéis ayudar?

Este es el código que he utilizado.

On Error Resume Next
If Not Intersect(Target, Range("A2:A6")) Is Nothing Then
Image1.Picture = _
LoadPicture(ActiveWorkbook.Path & "\imagenes\" & Target & ".jpg")

End If
End Sub

Creo que lo que he de cambiar es lo que he puesto en negrita, pero no se como hacerlo.

1 Respuesta

Respuesta
1

Hasta el momento desconozco cómo se puede hacer referencia a una carpeta en el Google Drive o Dropbox.

Por lo tanto mi sugerencia es que envíes tu carpeta (libro y subcarpeta imágenes vacía) e indiques al destinatario el link desde dónde debe descargar las imágenes. Con la recomendación de que debe colocarlas en la carpeta llamada 'imagenes' que envías junto con el libro.

(*) Es decir que deben respetar la ruta: ActiveWorkbook.Path & "\imagenes\

Gracias Elsa.

Pero aunque no sea en Google Drive, existe la posibilidad de subir las imágenes de un acceso que sea publico de internet PICASA, GOOGLE IMÁGENES, DROPBOX, ¿ETC...?

Si claro. Pero sube toda la carpeta: libro y subcarpeta con imágenes. El usuario la descarga, la ubica donde prefiera y listo. No hay que hacer ningún ajuste a ninguna macro.

Sdos!

Lo que busco es que se puedan dejar las imágenes siempre en algún sitio. He estado pensando y quizás también serviría un FTP, pero que estén siempre ahí. No le puedo decir a nadie que descargue 400 mb de imágenes para ver mi tarifa. Ese es el problema. Si están en algún lugar fijo donde excel las va a buscar con mi macro seria perfecto.

En ese caso utiliza este código. Estoy tomando tus instrucciones a las que le agrego algo más de control. Como no indicas dónde ubicar las imágenes, desarrollé el ejemplo ubicándolas en la col B de la misma fila.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'x Elsamatilde
'al seleccionar alguna celda del rango A2:A6 se carga la imagen en col B
If Intersect(Target, Range("A2:A6")) Is Nothing Then Exit Sub
'si la celda seleccionada está vacía no se ejecuta
On Error GoTo salgo
If Target.Value <> "" Then
    'arma la url
    sitio = Range("G2")
    urlweb = sitio & Target.Value & ".jpg"
    'se inserta la imagen- controla posible error no exista imagen
    ActiveSheet.Pictures.Insert(urlweb).Select
    'se coloca en la misma fila col B
    Selection.Left = Target.Offset(0, 1).Left
    Selection.Top = Target.Offset(0, 1).Top
    Target.Offset(0, 1).Select
End If
salgo:
End Sub

Este ejemplo considera que el nombre de la imagen se encuentra en col B (sin su extensión) y la ruta web en celda G2. Ajusta estos detalles a tu gusto.

En versiones Excel 2007 puede ser que no se inserten y según leí en algún sitio se resuelve instalando el SPack 2.

Sdos y comenta cómo lo resolviste.

Te recuerdo que esta consulta sigue abierta. No olvides valorarla.

Sdos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas