Cómo víncular hojas de cálculos de Excel en LibreOffice.

Saludos a los lectores de LibreOfficeCuba, hoy quiero compartir con uds. un pequeño tutorial de cómo vincular hojas de cálculos con formatos xls (Excel) en LibreOffice.

Resulta que muchos usuarios que usan LibreOffice en GNU/Linux o lo usan en Windows pueden trabajar con los archivos ya existentes de excel, word, etc. Pero que al tratar de vincular hojas de cálculos guardadas en formatos de Excel se encuentran con un error al tratar de abrir un archivo vinculado. Esto está dado al modo diferente en que ambas aplicaciones trabajan la vinculación de archivos u hojas de cálculos.

Lo primero que te recomiendo es que si estás trabajando en Linux y con LibreOffice es que guardes esas hojas de cálculo en formato ODF, es decir, ods para Calc, pues los problemas de compatibilidad mejorarían notablemente. Pero si deseas continuar trabajando hojas de Excel con LibreOffice y al mismo tiempo garantizar un vínculo con otras hojas de Excel, entonces debes de recurrir a la función DDE. A continuación explico.

DDE significa “Dynamic Data Exchange” (intercambio dinámico de datos), un precursor de OLE, “Object Linking and Embedding” (Vinculación e incrustación de objetos). DDE vincula los objetos a través de referencias de archivo, no los incrusta.

Para crear un vínculo DDE utiliza el procedimiento siguiente:

Seleccione celdas de una hoja de cálculo de LibreOffice Calc, cópielas en el portapapeles, cambie a otra hoja de cálculo y seleccione el diálogo Editar – Pegado especial. Seleccione la opción Enlace o Vínculo para insertar el contenido como vínculo DDE. Al activar un vínculo, el área de celdas insertada se leerá del archivo original.

Igualmente puede usar la función DDE directamente en una celda.

Sintaxis
DDE(“Servidor”;”Archivo”; “Área”; Modo)

Servidor: Es el nombre del servidor de aplicaciones. Las aplicaciones de LibreOffice tienen el nombre de servidor «soffice».

Archivo: Es el nombre completo de archivo, incluida la especificación de la ruta.

Área: Es el área que contiene los datos que se van a evaluar.

Modo: Es un parámetro opcional que controla el método por el que el servidor DDE convierte sus datos en números.

Modo

Efecto

0 o ninguno Formato numérico procedente del estilo de celda “predeterminado”

1

Los datos se interpretan siempre con el formato predeterminado para inglés de EE.UU.

2

Los datos se aceptan como texto; no se transforman en números

Ejemplo:

=DDE(“soffice”;”c:\office\document\data1.sxc”;”hoja1.A1″) lee el contenido de la celda A1 en la hoja1 de la hoja de cálculo LibreOffice Calc data1.sxc.

También es posible vincular información de documentos de texto odt con una hoja de cálculo ods.

=DDE(“soffice”;”d:\Mis documentos\prueba.odt”;”Máxima del día”) devuelve una máxima en la celda que contiene la fórmula. Primero, debe introducir una línea en un documento prueba.odt que contiene el texto de la máxima y definirlo como la primera línea de una sección que se llame Máxima del día (en LibreOffice Writer en Insertar – Sección). Si se modifica la máxima (y se guarda) en el documento de LibreOffice Writer, la máxima se actualiza en todas las celdas de LibreOffice Calc en las que se defina este vínculo DDE.

Para el caso que desees vincular hojas de cálculos de Excel en GNU/Linux esta sería la sintaxis para la fórmula que hace referencia a la celda A3 de una hoja 1 del archivo Sin título 1.xls. Esta fórmula está en una hoja de cálculo de Excel que se llamará Sin título 2.xls

=DDE(“soffice”;”/home/carlos/Sin título 1.xls”;”hoja1.A3″)

Aquí solo tendrás que cambiar el camino de donde tienes tus hojas de cálculos, así como los nombres y celdas de referencia.

Cuando abras este archivo te sacará el diálogo que la misma está vinculada y te pregunta si deseas actualizar el vínculo, cosa que ya habías visto, pero sin éxito por la vía que estabas usando. Verás que una vez que le digas que actualice no sacará nuevamente el cartel que te decía que no existía en esa ruta el archivo original.

 No se permite definir vínculos entre plataformas distintas, por ejemplo vincular desde una instalación de LibreOffice en una máquina Windows un documento creado en una máquina Linux.

Espero que este pequeño tutorial le resulte provechoso a los usuarios que aún trabajan las hojas de cálculo de Excel.

8 Comentarios en el artículo “Cómo víncular hojas de cálculos de Excel en LibreOffice.”

  • lenox comentó el

    Hola Carlos después de ver este artículo me pregunto y si los datos a vincular se encuentran en la misma hoja como quedaria la formula.

  • Carlos Parra Zaldivar comentó el

    Lenox:

    Mis saludos, te comento que esto se refiere única y exclusivamente cuando los datos a vincular se encuentran en libros diferentes guardados en el Disco duro del PC y en formato de Excel, aclarando que No se permite definir vínculos entre plataformas distintas, por ejemplo vincular desde una instalación de LibreOffice en una máquina Windows un documento creado en una máquina Linux. Si los datos a vincular están dentro de una hoja de un mismo libro se procede de la misma manera que se hace en Excel.

    Saludos

    Carlos

  • Igor Dávalos comentó el

    Un gran saludo, buena explicación sobre la vinculación de celdas calc a writer.
    He legado a este blog buscando info sobre los vínculos, me explico.
    Yo he realizado la vinculación utilizando copiar sobre una celda de calc y luego en write editar — pegado especial como enlace DDE (algo así es la opción).
    Todo esto para llenar un formulario con datos de calc que cambian de una persona a otra.

    Así que en writer puedo ver todos los vínculos desde menú Editar – Vínculos. Se ven todos mostrandolos en la sintaxis que explicaste
    DDE(“Servidor”;”Archivo”; “Área”; Modo)

    La cosa es que necesito duplicar este formulario. El archivo de calc cambia de nombre al igual que el de writer y ambos se copian en una carpeta distinta.
    ¿sabes como editar todos los vínculos de una sola vez para cambiar las referencias al archivo de calc?

    En word, que tenía el formulario original yo lo vinculé de excel a word.
    Cuando cambiaba el nombre del archivo de excel y su ubicación para modificar los vínculos en word presionaba Alt+F9 y se muestra entre otros datos la ruta completa del enlace.
    algo como “C:\la_carpeta\form1\libro.xlsx”
    Entonces utilizaba la opción Buscar y reemplazar.
    De este modo podía modificar rápidamente todos los vínculos que son unos 90 más o menos, que para hacerlos manualmente cada vez, mejor no uso vínculos 😀 porque sería lo mismo que hacerlo manual.

    Respondiendo a la pregunta de lenox. Si deseas vincular una celda que está en otra hoja sería así:

    =nombredehoja.celda

    Si el nombre de hoja tiene espacios añades comillas simples:
    =’nombre de hoja’.celda

    Ej.:
    =Hoja4.D6

    =’Hoja 8′.G3

    Para vincular celdas en la misma hoja, solo escribes el nombre de la celda
    =celda

    • Igor Dávalos comentó el

      Encontré una forma, bastante larga pero comparada a reemplazar uno a uno los vínculos es más rápida.

      Desempaquetar el archivo .odt
      Editar content.xml
      Buscar y reemplazar la ruta del enlace

      volver a empaquetar el archivo .odt
      cambiar la extensión del archivo empaquetado por .odt

      Un gran saludo

      • Carlos Parra Zaldivar comentó el

        Igor:

        Gracias por tu comentario y la información que compartes. Es una solución, que aunque pudiera ser más larga, das con el resultado esperado. Lo más importante, y de eso no hablas, es que gracias al formato Abierto ODF es que pudiste dar con la solución de marras, es ahí otro detalle transcendental, tenemos dominio total y absoluto sobre el contenido y formato de nuestros archivos, lo que nos empodera grandemente. Esa es una de las razones fundamentales de implementar y generalizar el uso de estos formatos para poder garantizar un trabajo transparente y seguro sobre nuestros documentos.

        Saludos

        Carlos

    • Igor Dávalos comentó el

      Completamente de acuerdo Carlos,
      Gracias al formato ODF abierto y su liberación total del estándar y especificaciones que OASIS ha publicado, en este caso sobre la versión 1.2 de opendocument.
      Sumado a que LibreOffice respeta completamente este formato.
      Por ejemplo al momento de volver a empaquetar tenía dudas del formato de compresión, busqué en las especificaciones y ahí está, ‘debe ser un formato zip…’

      Deseo incluir otra forma que encontré y la considero “mejor” respecto a vincular cuando se lo hace sobre líneas de texto.

      La anterior forma copiar celda de excel y pegar como vínculo DDE en writer, inserta el vínculo como tabla, haciéndose complicado de manejar cuando se quiere insertar sobre un texto para que fluya a continuación de éste. Me sirve bastante bien cuando el vínculo lo inserto dentro de una celda en una tabla de writer.
      Por ejemplo en writer quiero indicar:
      La superficie deforestada es 25.4587 Has. que equivale al…
      Copiando y pegando como vínculo DDE me quedaría algo así

      La superficie deforestada es
      25.4587 Has.
      que equivale al…

      Es decir no me permite escribir de forma continua.

      Entonces para no seguir alargando la cosa, encontré que es más funcional (para mí) insertarlo como Campo.
      Menú Insertar—Campo—Más Campos (Ctrl + F2)

      Pestaña variables — tipo Campo DDE

      De esta forma se inserta el vínculo como campo que me permitiría escribir los datos como texto seguido que es como deseo hacerlo.
      aparte de eso permite darle un nombre que ayude a saber a qué vincula, darle formato directo o con estilos, etc.

      https://www.dropbox.com/s/tmdyjph84y9wg7c/Campos_001.png?dl=0

      Se pueden modificar los vínculos desde insertar campos como también desde Menú Editar—Vínculos.

      https://www.dropbox.com/s/u8u6uzcesgwt2ip/Editar%20enlaces_002.png?dl=0

      Me entusiasmé un poco creo.
      La razón es como la que indicas, hay que generalizar su uso por todas las razones que das.
      y hay que enseñar a usarlo para mostrar que se pueden realizar muchas cosas que ofrecen otros formatos cerrados, de distinto modo claro, pero lo importante con la completa seguridad de, y cito textualmente lo que indicas
      “…poder garantizar un trabajo transparente y seguro sobre nuestros documentos.”

      Gracias por la paciencia

  • Ardiles Alejandro comentó el

    Hola queria hacer una consulta sobre problema que tengo en libreoffice 5 ya que desde donde me envían este tipo de planilla usan este programa, resulta que cuando abro las planillas correspondientes las tablas me vienen punteadas y no encuentro la manera de abrirlo con microsoft excel para que me salgan con su tabla correspondiente..alguna solución?

    • Carlos Parra Zaldivar comentó el

      Ardiles:
      Ante todo mis saludos y las gracias por visitar el sitio. No me dices con qué aplicación intentas abrir los documentos, es con LibreOffice 5 o con otro?, si aparecen punteadas las tablas es porque se generaron inicialmente desde Excel y se exportaron a formato ODF o XLSX?. Son muchas variantes de problemas que provocan conflictos de interoperabilidad por el uso de diversos formatos. Es la razón por la que se aprobó el formato ODF, que no depende de la aplicación, es abierto y multiplataforma. Te sugiero que instales LibreOffice en una de sus últimas versiones ya sea portable o no, pues en cada nueva versión se mejora la interoperabilidad con los formatos privativos de Office.

      Saludos

      Carlos

Súmate al debate y déjanos tu comentario. Siéntete libre de expresar tu criterio siempre y cuando sea basado en el respeto al resto de la comunidad y centrándote en el tema o eje central de este artículo. No haremos pública tu dirección de correo electrónico.