Cómo incrustar scripts de Python en LibreOffice Calc
Tengo un script .py exitoso que puede abrir un documento existente de LO Calc (guardado como .xlsx para poder usar openpyxl) que agrega información al archivo, guarda el archivo y lo cierra al finalizar la ejecución del script. El archivo .xlsx no puede estar abierto cuando se ejecuta el script, de lo contrario el archivo se corrompe y se pierden todos los datos.
Pero lo que realmente necesito es poder ver los datos que se van agregando a la hoja de cálculo a medida que ocurren, para poder tener un gráfico dinámico que muestre visualmente la información.
Instalé APSO (¡gracias!) que creo que me permitirá incrustar scripts de usuario de Python editables. Quiero que el script se ejecute cuando haga clic en un botón programable que creé en mi hoja de cálculo.
Guardé el script en /home/USER/.config/libreoffice/4/user/Scripts/python, siguiendo las instrucciones del software “code assistant” de ScriptForge de la Conferencia LO 2021.
En la ventana de selección de macros, bajo “Mis macros”, veo mi script, pero se me niega el acceso al botón “Aceptar” (aparece en gris), sin embargo, puedo seleccionar un script del archivo “LibOCon_2021.py” de ScriptForge.
Al comparar mi script .py con los que están en “LibOCon_2021.py”, parece que la diferencia es que mi script no tiene una definición, así que al principio de mi script agregué “def to_be_embedded(args=None):” y lo guardé, pero el botón “Aceptar” todavía no está disponible, por lo que no puedo vincularlo al botón presionado.
Entonces, ¿cómo puedo incrustar realmente mi script y hacer que se ejecute cuando haga clic en el botón?
davy.ai
Para insertar tu script en LibreOffice y hacer que se ejecute cuando hagas clic en el botón programable, sigue estos pasos:
def my_function():
Esto debería insertar tu script en LibreOffice y permitirte ejecutarlo desde un botón programable mientras ves los datos poblarse en la hoja de cálculo en tiempo real.