Página 1 de 1

Imágen vinculada a celda

Publicado: Vie Jun 01, 2018 6:56 pm
por j2rm
Hola muchach@s como esta?

Estoy intentando hacer algo parecido a lo que se muestra en este vídeo

Código: Seleccionar todo

https://www.youtube.com/watch?v=wZMrOOU9iXs
Más no logro hacer que las imágenes cambien, cuando el valor de la celda a la cual están vinculadas varia.

Alguien por acá sabrá como hacerlo de forma correcta?

Re: LIBREOFFICE CAL Imágen vinculada a celda

Publicado: Dom Jun 03, 2018 6:38 pm
por jjuanhdez
¡Hola!

Con macros tienes la respuesta en : https://forum.openoffice.org/es/forum/v ... c97deaf087

Pero, imagenes vinculadas sin macros como en el ejemplo que indicas no se si se puede hacer con Calc. Investigará un poco y si lo encuentro te indico.

Un saludo.

Re: LIBREOFFICE CAL Imágen vinculada a celda

Publicado: Dom Jun 03, 2018 7:34 pm
por mauricio
No se si lo soñé, pero creo recordar leer en unas notas de desarrollo de LibreOffice, que se estaba implementado para insertar en las celdas, voy a intentar buscarlo.

Re: LIBREOFFICE CAL Imágen vinculada a celda

Publicado: Mar Jun 05, 2018 12:12 am
por fornelasa
Calc no puede trabajar con un digamos "VLOOKUP IMAGEN" pues no lo soporta, excepto con macros.
Sin duda un tema complejo para un novato.
Aquí un ejemplo de un "VLOOKUP PICTURE" usando macros.
Cambia cualquier celda del rango I3:I7 (J3:J7 en el archivo de OpenOffice) y ve lo que sucede.
Y obvio por el momento no funciona para LibreOffice ya que este tiene un Bug a la hora de copiar objetos entre celdas

 Editado: Mensaje re, re, re, super reeditado 


Envío también un ejemplo para LIbreOffice y otro más para OpenOffice

Saludos, Federico.

Re: LIBREOFFICE CAL Imágen vinculada a celda

Publicado: Jue Jun 28, 2018 8:25 pm
por carlosmle167
Hola amigos después de leer el libro de Mauricio (Bueno vale consultar muchísimo)
hice esta hoja de calculo con imagenes y Conseguí que funcionara aunque creo que se puede mejorar y sobre todo solucionar el fallo que os comento que es la superposición de las imágenes osea lo que quiero es que cada vez que le doy al botón se borren las
fotos anteriores y se queden las nuevas.
Muchas gracias.

Re: LIBREOFFICE CAL Imágen vinculada a celda

Publicado: Mié Ago 08, 2018 3:35 pm
por mauricio
No, no lo soñe, se ha implementado en 6.1: https://wiki.documentfoundation.org/Rel ... s/6.1#Calc

Re: LIBREOFFICE CAL Imágen vinculada a celda

Publicado: Mié Ago 08, 2018 11:01 pm
por fornelasa
Parecería que esa implementación no se refiere a lo que pudiéramos llamar una VLOOKUP PICTURE que (parece) es lo que solicita el posteador original al referirse al vídeo, parece que tiene que seguirse haciendo solo con macros, al menos hasta ahora.

Saludos, Federico.

Re: LIBREOFFICE CAL Imágen vinculada a celda

Publicado: Vie Ago 24, 2018 2:20 pm
por Pierrot-le-fou
Buenas, me surge una duda. Se podría hacer con macros algo similar al ejemplo adjunto?

Yo lo que quiero es, tener la base con las fotos en una hoja y que, en funcion del número que aparezca en B1, B7, B12 y así sucesivamente, aparezca la foto relacionada en la hoja Fotos. Serían entre 150 y 200 registros más o menos.

Sería viable? Gracias de antemano.

Re: LIBREOFFICE CAL Imágen vinculada a celda

Publicado: Vie Ago 24, 2018 6:25 pm
por mauricio
Por favor, no uses un tema expuesto para plantear una duda diferente, abre un nuevo tema, pero antes... ¿ya realizaste una búsqueda en el foro?, creo recordar que tu pregunta ya se ha respondido...

Re: Imágen vinculada a celda

Publicado: Vie Ago 24, 2018 6:35 pm
por Pierrot-le-fou
La duda viene en relación al ultimo ejemplo del usuario fornelasa, vendría a ser casi lo mismo pero con matices.

Y por supuesto que he realizado la búsqueda, de hecho así encontré el presente hilo. Si hay algo exacto a la cuestión planteada, no he sabido encontrarlo.

Gracias de todos modos.

Re: Imágen vinculada a celda

Publicado: Vie Ago 24, 2018 6:42 pm
por mauricio
Es verdad, ahora que veo tu archivo... tu pregunta, ya la respondió mi amigo fornelasa... mira y aplica su ejemplo...

Re: Imágen vinculada a celda

Publicado: Vie Ago 24, 2018 6:45 pm
por Pierrot-le-fou
xD Si supiera como aplicarlo no hubiera planteado la cuestión.

Saludos

Re: Imágen vinculada a celda

Publicado: Vie Ago 24, 2018 8:30 pm
por mauricio
Lo menos que esperaba, es al menos que intentaras hacerlo... ojala alguien pueda hacerlo por ti.

Saludos

Re: Imágen vinculada a celda

Publicado: Sab Ago 25, 2018 7:57 am
por Pierrot-le-fou
Lo menos que esperaba, es al menos que intentaras hacerlo... ojala alguien pueda hacerlo por ti.

Saludos
No presuponga usted las acciones de los demás.

Por supuesto que intenté adaptarlo a lo que necesitaba pero me encontré con los siguientes problemas:

- El primer método (https://forum.openoffice.org/es/forum/v ... c97deaf087) que propone usted, está más bien pensado a modo de buscador, e implica tener una carpeta aparte donde ir almacenando todas las imágenes. Puede resultar muy cómodo si eres el único usuario del fichero, pero no es el caso puesto que somos varios los que intervenimos en alimentarlo de datos para realizar los correspondientes cálculos mes a mes. Aparte, el fichero se manda por mail, así que lo descarté de primeras.

- El segundo método que propone el compañero fornelasa se adapta mucho más a lo que yo necesito puesto que ya incluye las imágenes incrustadas pero al revisar el código me encontré con lo siguiente:

Código: Seleccionar todo

   uno = Trim(hoja.getCellRangeByName("C4").String)
       dos = trim(hoja.getCellRangeByName("D4").String)
       tres = trim(hoja.getCellRangeByName("E4").String)                          
              For i = 0 To (Imagenes.count - 1)
              if Imagenes.getByIndex(i).Name = uno then u = hoja.getCellRangeByName(uno) : imgU = Imagenes.getByIndex(i)
              if Imagenes.getByIndex(i).Name = dos then d = hoja.getCellRangeByName(dos) : imgD = Imagenes.getByIndex(i)
              if Imagenes.getByIndex(i).Name = tres then t = hoja.getCellRangeByName(tres) : imgT = Imagenes.getByIndex(i)                                        
              Next                    
                    imgU.Anchor = hoja.getCellRangeByName("C5")
                    imgD.Anchor = hoja.getCellRangeByName("D5")
                    imgT.Anchor = hoja.getCellRangeByName("E5")
O sea, que habría que definir los rangos de las celdas uno a uno, lo cual con 180 registros me resulta bastante tedioso. Aparte que, cada vez que quisiera añadir uno nuevo implicaría modificar la macro lo cual lo hace aún más tedioso.

Me preguntaba si había una forma más rápida y cómoda que se adaptara a lo que necesito, de ahí mi consulta. Pensé que el foro estaba para eso.

Gracias de todos modos y perdón por el tostón.

Un saludo

Re: Imágen vinculada a celda

Publicado: Sab Ago 25, 2018 6:59 pm
por fornelasa
Hola a todos, creo sí es posible hacerlo, en cuanto pueda intentaré subir un archivo ejemplo, si antes no se me adelantan :D
Saludos, Federico.

Re: Imágen vinculada a celda

Publicado: Sab Ago 25, 2018 8:23 pm
por mauricio
Pierrot-le-fou escribió: No presuponga usted las acciones de los demás.
Exactamente no lo hice, te escribí después de ver tu archivo que no trae nada, nos atenemos a lo escriben y muestran aquí, no podemos "presuponer" que es lo que hicieron o no.

Re: Imágen vinculada a celda

Publicado: Lun Ago 27, 2018 8:35 am
por Pierrot-le-fou
fornelasa escribió:Hola a todos, creo sí es posible hacerlo, en cuanto pueda intentaré subir un archivo ejemplo, si antes no se me adelantan :D
Saludos, Federico.
Muchas gracias compañero, se agradece muchísimo el interés.

Un saludo.

Re: Imágen vinculada a celda

Publicado: Lun Ago 27, 2018 9:06 pm
por fornelasa
aquí una posible opción (por el momento solo se me ocurre esto), Pulsa el botón VLOOKUP para buscar y el botón acomodoInicial para regresar las imágenes a su estado original.
Las imágenes necesariamente deben estar en la misma hoja, en este caso están en la columna Q
Saludos, Federico.

Re: Imágen vinculada a celda

Publicado: Mar Ago 28, 2018 10:49 am
por Pierrot-le-fou
fornelasa escribió:aquí una posible opción (por el momento solo se me ocurre esto), Pulsa el botón VLOOKUP para buscar y el botón acomodoInicial para regresar las imágenes a su estado original.
Las imágenes necesariamente deben estar en la misma hoja, en este caso están en la columna Q
Saludos, Federico.
Muchisimas gracias. Aunque no es exactamente lo que necesito, creo que puedo adaptarlo bastante bien a mis necesidades.

Prometo subir mi fichero cuando lo tenga montado, por si a alguien más le puede ser de utilidad.

Muchas gracias de nuevo y un saludo muy grande.

Re: Imágen vinculada a celda

Publicado: Mar Ago 28, 2018 4:48 pm
por fornelasa
Aunque no es exactamente lo que necesito, creo que puedo adaptarlo bastante bien a mis necesidades.
Si, los ejemplos aquí plasmados son precisamente eso, ejemplos, para que los usuarios intenten adaptarlo a sus propias necesidades, no pretenden cubrir todos los casos.
Prometo subir mi fichero cuando lo tenga montado, por si a alguien más le puede ser de utilidad.
A mi si me gustaría ver tu archivo, si se puede.
Saludos, Federico.

Re: Imágen vinculada a celda

Publicado: Mar Ago 28, 2018 6:00 pm
por Pierrot-le-fou
fornelasa escribió:
Aunque no es exactamente lo que necesito, creo que puedo adaptarlo bastante bien a mis necesidades.
Si, los ejemplos aquí plasmados son precisamente eso, ejemplos, para que los usuarios intenten adaptarlo a sus propias necesidades, no pretenden cubrir todos los casos.
Por razones operativas, debo tener las imagenes en una hoja separada de la principal. He estado trasteando y no he sido capaz de copiar de una hoja a la otra:

Código: Seleccionar todo

Sub BuscarPicture()


	   oDoc = ThisComponent
    oSheet0 = oDoc.Sheets(0) 
	oSheet1	= oDoc.Sheets(1)                             
   Imagenes = oSheet0.GetDrawPage()
   
        fin = 1000    
      for i = 0 To fin / 5 Step 5      
            dato = oSheet0.getcellbyPosition(0, i).String
      for j = 0 To (Imagenes.count - 1)
         If "clv" + Imagenes.getByIndex(j).Name = dato Then
             Imagenes.getByIndex(j).Anchor = oSheet0.getCellByPosition(0, i)      
         End If   
      Next
      Next
End Sub

Sub acomodarImagenes()

	   oDoc = ThisComponent
    oSheet0 = oDoc.Sheets(0) 
	oSheet1	= oDoc.Sheets(1)                             
   Imagenes = oSheet1.GetDrawPage()

        fin = 1000
       numd = -1
       On Error GoTo Salir   
      for i = 0 To fin / 5 Step 5      
       numd = numd + 1
       If Imagenes.getByIndex(numd).Name = "buscar" Or Imagenes.getByIndex(numd).Name = "acomodar" Then
       numd = numd + 1
       Else 
            Imagenes.getByIndex(numd).Anchor = oSheet1.getCellByPosition(2, i) 'Columna B Hoja 'Fotos'
       End If
      Next
      Salir:	      
End Sub

Solo me funciona dentro de la misma hoja y ahí estoy atascado.

Gracias de antemano. Un saludo.

Re: Imágen vinculada a celda

Publicado: Mar Ago 28, 2018 8:18 pm
por fornelasa
La propiedad Anchor no soporta las imágenes entre hojas pero es la única en LibreOffice que nos puede ayudar para este tema, lo correcto sería usar por ejemplo:

Código: Seleccionar todo

hoja.copyRange(hoja.getCellRangeByName("D5").cellAddress, u.rangeAddress)
pero como ya se ha mencionado LO tiene un bug en este tema en el copiado de imágenes.
fornelasa escribió:
Y obvio por el momento no funciona para LibreOffice ya que este tiene un Bug a la hora de copiar objetos entre celdas
Si usas LIbreOffice como dice tu firma, o las ponemos en la misma hoja o las ponemos en la misma hoja, no hay otra manera en LO.

Saludos, Federico.

Re: Imágen vinculada a celda

Publicado: Mié Ago 29, 2018 10:25 am
por Pierrot-le-fou
fornelasa escribió:La propiedad Anchor no soporta las imágenes entre hojas pero es la única en LibreOffice que nos puede ayudar para este tema, lo correcto sería usar por ejemplo:

Código: Seleccionar todo

hoja.copyRange(hoja.getCellRangeByName("D5").cellAddress, u.rangeAddress)
pero como ya se ha mencionado LO tiene un bug en este tema en el copiado de imágenes.
fornelasa escribió:
Y obvio por el momento no funciona para LibreOffice ya que este tiene un Bug a la hora de copiar objetos entre celdas
Si usas LIbreOffice como dice tu firma, o las ponemos en la misma hoja o las ponemos en la misma hoja, no hay otra manera en LO.

Saludos, Federico.
Me queda claro, de hecho lo mencionaste al subir el ejemplo pero por algún motivo se me pasó.

Le daré una vuelta al fichero a ver que se me ocurre. Muchas gracias por el interés y la solución planteada.

Un saludo.