Importar basic desde otro fichero

Discute sobre la aplicación de hojas de cálculo
Responder
inakibit
Mensajes: 5
Registrado: Dom Nov 07, 2021 12:09 pm

Importar basic desde otro fichero

Mensaje por inakibit »

Importar basic desde otro ods , ¿ esposible .... ?
LibreOffice 7.2.1.2
Neftali R
Mensajes: 169
Registrado: Mar Jun 15, 2021 12:48 pm
Ubicación: Venezuela

Re: Importar basic desde otro fichero

Mensaje por Neftali R »

Buenas,

La verdad no sé la respuesta, nunca lo he intentado, pero creo que no existe una forma directa de hacerla, tal vez haya una indirecta que sea muy complicada que involucre utilizar servicios de Windows y otra cosas bastante avanzadas, pero la verdad no sé cómo hacerlo.

Pero creo que debes saber algo sobre códigos de OOBasic guardado en los documentos.

Cuando en un documento creas una biblioteca de OOBasic, y en esa biblioteca creas un módulo, estás creando una carpeta en los archivos internos del archivo y dentro de esa carpeta están los módulos. Las Bibliotecas son carpetas dentro de la carpeta Basic y los Módulos son archivos .xml

Puedes verificar esta información fácilmente, cambiando la extensión de un archivo de LibreOffice que tenga macros guardadas internamente por “.zip” y podrás ver entre muchas otras cosas, una carpeta llamada Basic que contiene carpetas con el mismo nombre de las Bibliotecas que puedes ver desde el interfaz de macros de LibreOffice y dentro de esas carpetas, hay archivos de extensión “.xml” con el mismo nombre que los módulos que hay en la Biblioteca seleccionada. Si abres uno de esos archivos “.xml” podrás ver que ahí está tu código, solo que compactado, sin saltos de linea, es casi imposible de leer en ese estado, pero si prestas atención, podrás ver que es el mismo código que puedes ver desde el IDE de LibreOffice.

Ahora, esta explicación que te estoy dando es desde mi experiencia con archivos ODF (Open Document Format) 1.2, que es el que soporta mi versión de LibreOffice, a partir de la versión 7.x.x... de LibreOffice esta soportando archivos ODF 1.3, que es la nueva versión, no creo que esa parte de los macros haya cambiado, pero por si acaso no encuentras la estructura que te indiqué es por eso.

Por favor me indicar si pudiste encontrar la misma estructura que te indiqué (Archivo.zip>Basic>Bibliotecas>módulos.xml) para saber si estas instrucciones también podrían ayudar a otra personas con LibreOffice 7.x.x...
LibreOffice 7.2.6.2 | Windows 7 Ultimate
inakibit
Mensajes: 5
Registrado: Dom Nov 07, 2021 12:09 pm

Re: Importar basic desde otro fichero

Mensaje por inakibit »

Ok,
seguire intentandolo...
te contestare con lo que avance

Muchas gracias
LibreOffice 7.2.1.2
Longi
Mensajes: 804
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: Importar basic desde otro fichero

Mensaje por Longi »

Buenas!

Qué tal tu inglés?

https://forum.openoffice.org/en/forum/v ... 15&t=26505

Ya nos cuentas! ;)
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
inakibit
Mensajes: 5
Registrado: Dom Nov 07, 2021 12:09 pm

Re: Importar basic desde otro fichero

Mensaje por inakibit »

Gracias,
ya, pero esta usando el "Organizer" ..., sin problema
o con copy/paste mediante Organizer

el tema esta en hacerlo desde dentro de Basic ...
LibreOffice 7.2.1.2
inakibit
Mensajes: 5
Registrado: Dom Nov 07, 2021 12:09 pm

Re: Importar basic desde otro fichero

Mensaje por inakibit »

sobre lo mismo....

es posible programar un Suceso ???

Es decir, asignar programando, lo que se haria desde:
Menu / Herramientas / Personalizar / Sucesos/ AbrirDocumento / AsignarMacro
LibreOffice 7.2.1.2
Longi
Mensajes: 804
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: Importar basic desde otro fichero

Mensaje por Longi »

He estado trasteando (a mi también me interesa).
Encontré esto, quizá te sirva:

https://forum.openoffice.org/es/forum/v ... =17&t=3386

A ver qué tal ;)
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
inakibit
Mensajes: 5
Registrado: Dom Nov 07, 2021 12:09 pm

Re: Importar basic desde otro fichero

Mensaje por inakibit »

estoy programando con Qt con Qxlsx como enlace con Calc

No veo otra solucion que:
en lugar de abrir un nuevo fichero Calc, abrir el que tiene el programa oBasic, y hacerle SaveAs

Gracias por vuestras respuestas,
Un saludo
LibreOffice 7.2.1.2
Responder