LibreOffice Calc consente agli utenti di creare le proprie funzioni utilizzando il linguaggio di programmazione StarBasic integrato. Questa lingua è molto simile a VBA , tuttavia, ha funzionalità limitate poiché 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 la tua funzione utilizzando un linguaggio di programmazione oggi così popolare come Python.
Innanzitutto, ricordiamo come scrivere il proprio programma utilizzando gli strumenti standard LibreOffice Calc per scrivere macro e funzioni.
Di seguito è riportato il codice per la funzione
Per aggiungere la tua funzione, apri il menu
Function Greeting(sName As String) As String Greeting = "Hello " & sName & "!" End Function
Quindi, chiudi Macro Editor, torna a LibreOffice Calc e inserisci il nome di questa funzione in qualsiasi cella e specifica il parametro di input.
Prima di scrivere una funzione su Python, dobbiamo prima creare un file *.py (
%APPDATA%\LibreOffice\4\user\scripts\python
Se le cartelle script E pitone mancanti, è necessario crearli manualmente.
Di seguito è riportato lo script Python per la funzione
Per aggiungere questo script, apri il file
def Greeting(sName):
return "Python say 'Hello' to " + sName + "!"
Quindi chiudilo
Non possiamo eseguire subito questa funzione perché l'interfaccia LO Calc non ha una connessione diretta alle funzioni Python.
Per risolvere questo problema, dobbiamo creare una funzione intermedia su StarBasic:
Function Greeting(sName As String) As String pyFile = "myPyScripts.py" pyFunc = "Greeting" pyParams = Array(sName) ScriptProvider = CreateUNOService("com.sun.star.script.provider.MasterScriptProviderFactory").createScriptProvider("") pyScript = ScriptProvider.getScript("vnd.sun.star.script:" & pyFile & "$" & pyFunc & "?language=Python&location=user") Greeting = pyScript.invoke(pyParams, Array(), Array()) End Function
Aggiungi questa funzione intermedia all'editor di macro StarBasic (menu
Ora chiama la funzione StarBasic
Puoi anche utilizzare un set già pronto funzioni E utilità scritto su
Successivamente, questa funzionalità sarà disponibile in tutti i file che verranno aperti in LibreOffice Calc.