TOP

Scriviamo una macro su Python per LibreOffice Calc

Descrizione

LibreOffice Calc consente agli utenti di creare le proprie macro utilizzando il linguaggio di programmazione integrato StarBasic. Questa lingua è molto simile a VBA , tuttavia, ha funzionalità limitate perché viene utilizzato raramente.

I linguaggi di programmazione moderni, come Python, offrono molte più possibilità e dispongono di una gamma più ampia di librerie aggiuntive per tutte le occasioni.

Quindi, impariamo come creare le tue macro utilizzando un linguaggio di programmazione oggi così popolare come Python.


Il pacchetto di programmi per ufficio LibreOffice ti consente di creare le tue macro in linguaggi di programmazione di terze parti come Python, JavaScript, C++, Java.

StarBASIC Codice per HelloWorld

Innanzitutto, ricordiamo come scrivere il proprio programma utilizzando gli strumenti standard LibreOffice Calc per scrivere macro.

Di seguito è riportato il codice per la macro HelloWorld , che prescrive la frase "Hello World!" nella cella "B7" utilizzando il linguaggio di programmazione integrato StarBasic.

Per aggiungere una nuova macro, aprire il menu Tools - Macros - Edit Macros... , seleziona Module1 e copia il seguente testo nel modulo:

Sub HelloWorld
    GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
    
    'REM "doc" it's a current LO Calc workbook (active worksheet)
    doc = CreateScriptService("Calc")
    doc.SetValue("B7", "Hello World!")
End Sub

Quindi, chiudi Macro Editor, torna a LibreOffice Calc ed esegui la nostra nuova macro tramite il menu Tools - Macros - Run Macro...

Cartella Python

Prima di scrivere una macro su Python, dobbiamo prima creare un file *.py (myPyScripts.py) nella seguente cartella:

%APPDATA%\LibreOffice\4\user\scripts\python

Se le cartelle script E pitone mancanti, è necessario crearli manualmente.

Python Codice per HelloPython

Di seguito è riportato lo script Python per la macro HelloPython , che prescrive la frase "Hello Python!" nella cella "B8" nel programma LibreOffice Calc.

Per aggiungere una nuova macro, aprire il file myPyScripts.py per mezzo di Notepad++ (O Windows Notepad) e copia lì il seguente testo:

from scriptforge import CreateScriptService

def HelloPython():
    doc = CreateScriptService("Calc")
    doc.SetValue("B8", "Hello Python!")
    return None

Quindi chiudilo Notepad++ e torna a LibreOffice Calc. Per eseguire questo script, apri il menu Tools - Macros - Organise Macros - Python... , seleziona "My Macros" , apri la cartella "myPyScripts" e scegliere HelloPython premere il pulsante Run .

Si noti che queste macro, che si trovano su StarBasic, che si trovano su Python, utilizzano la libreria integrata ScriptForge . Questa libreria semplifica la scrittura di macro per gli utenti finali, nascondendo tutte le funzionalità del sistema "sotto il cofano".

Utilizzando l'estensione

Puoi anche utilizzare un set già pronto funzioni E utilità scritto su Python installando l'estensione YLC Utilities .

Successivamente, questa funzionalità sarà disponibile in tutti i file che verranno aperti in LibreOffice Calc.