viernes, 29 de abril de 2022

Tutorial para manejo de Macros Python en Libreoffice Calc: Hello World en Python y libreofficeCalc

Tutorial para manejo de Macros Python en Libreoffice Calc: Hello World en Python y libreofficeCalc


Por: Alexander Arias


1. Descargar componente APSO

https://extensions.libreoffice.org/en/extensions/show/apso-alternative-script-organizer-for-python


2. Abrir Libreoffice Calc

ir a:

Herramientas -> Gestor de Extensiones (Crtl+Alt+E)

-> Añadir

Buscamos el archivo apso-v2.oxt, donde lo guardamos


3. Aceptamos licencia

Copyright Tsutomu Uchino/Hubert Lambert


4. Esperamos mientras añade APSO a nuestras Extensiones de libreoffice


5. Cerrar, el mismo libreoffice pide reiniciar


6. Abrimos de nuevo libreoffice Calc


7. Vamos a: Herramientas -> Gestion en Python (Alt + May + F11)


8. Escogemos: Macros de libreoffice -> HelloWorldPython


Los script de python estan ubicado en:

C:\Program Files\LibreOffice\share\Scripts\python


9. Podemos hacer varias cosas al abrir Guiones en Python APSO v1.2.8

- Modificar

- Depurar

- Interprete "Python"


10. Si escogemos  - Depurar

Nos abre un Depurador que nos muestra el código

Y lo podemos ejecutar paso a a paso



11. Hola Mundo para escribir "Hello World" en A1

Editemos en un archivo nuevo

Tomo como referencia:

https://tutolibro.tech/2019/08/16/libreoffice-calc-python-programming-part-2-hello-world/


# This program displays 'Hello World!" in cell A1 of the

# current Calc document.

def HelloWorld():

    """Write 'Hello World!' in Cell A1"""

    # get the doc from the scripting context

    # which is made available to all scripts

    desktop = XSCRIPTCONTEXT.getDesktop()

    model = desktop.getCurrentComponent()

    # access the active sheet

    active_sheet = model.CurrentController.ActiveSheet

    # write 'Hello World' in A1

    active_sheet.getCellRangeByName("A1").String = "Hello World!"


12. Guardo lo anterior en el archivo: macro_001.py

Lo copio en en la ruta con permisos de administrador:

C:\Program Files\LibreOffice\share\Scripts\python


Recomendación: En el Editor que manejemos debemos abrirlo como administrador para copiar en esa carpeta


13. Ejecución del Script en python, en libreofficeCalc:

Herramientas -> Gestion en Python (Alt + May + F11)

Sale una ventana: Guiones en Python


14. En la ventana del punto anterior:

Busco: macro_001

Dentro de ella aparece la Función: HelloWorld

Le doy en el botón: Ejecutar, o simplemente doble click en la función


15. Verificar que en la celda A1 se escribió "Hello World"


Ahora puede hacer ensayos cambiando el texto: "Hola Mundo"


16. Si quiero ver algo en consola: macro_002.py

def evaluar():

print('Introduce las medidas')

medida = "60 / 100"

resultado = eval(medida)

print(resultado)

17. Quiero ver el resultado anterior en B2, adiciono la siguiente función al archivo creado:

def evaluar2():

    desktop = XSCRIPTCONTEXT.getDesktop()

    model = desktop.getCurrentComponent()

    active_sheet = model.CurrentController.ActiveSheet

    medida = "60 / 100"

    resultado = eval(medida)

    #print(resultado)

    active_sheet.getCellRangeByName("B2").String = resultado

No hay comentarios:

Publicar un comentario