LibreOffice Calc permite utilizatorilor să-și creeze propriile funcții folosind limbajul de programare încorporat StarBasic. Acest limbaj este foarte asemănător cu VBA , cu toate acestea, are o funcționalitate limitată, deoarece este rar utilizat.
Limbajele de programare moderne, cum ar fi Python, oferă mult mai multe posibilități și au o gamă mai largă de biblioteci suplimentare pentru toate ocaziile.
Deci, haideți să învățăm cum vă puteți crea propria funcție folosind un limbaj de programare atât de popular de astăzi ca Python.
Mai întâi, să ne amintim cum vă puteți scrie propriul program folosind instrumentele standard LibreOffice Calc pentru scrierea macrocomenzilor și a funcțiilor.
Mai jos este codul funcției
Pentru a adăuga propria funcție, deschideți meniul
Function Greeting(sName As String) As String Greeting = "Hello " & sName & "!" End Function
Apoi, închideți Macro Editor, reveniți la LibreOffice Calc și introduceți numele acestei funcții în orice celulă și specificați parametrul de intrare.
Înainte de a scrie o funcție pe Python, trebuie să creăm mai întâi un fișier *.py (
%APPDATA%\LibreOffice\4\user\scripts\python
Dacă folderele scenarii şi piton lipsesc, trebuie să le creați manual.
Mai jos este scriptul Python pentru funcție
Pentru a adăuga acest script, deschideți fișierul
def Greeting(sName):
return "Python say 'Hello' to " + sName + "!"
Apoi, închideți-l
Nu putem rula această funcție imediat, deoarece interfața LO Calc nu are o conexiune directă la funcțiile Python.
Pentru a rezolva această problemă, trebuie să creăm o funcție intermediară pe 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
Adăugați această funcție intermediară la editorul de macrocomenzi StarBasic (meniul
Acum apelați funcția StarBasic
Puteți folosi și un set gata făcut funcții şi utilitate scris pe
După aceea, această funcționalitate va fi disponibilă în toate fișierele care sunt deschise în LibreOffice Calc.