LibreOffice Calc ermöglicht Benutzern das Erstellen eigener Funktionen mithilfe der integrierten Programmiersprache StarBasic. Diese Sprache ist sehr ähnlich VBA Allerdings ist die Funktionalität eingeschränkt, da es selten verwendet wird.
Moderne Programmiersprachen wie Python bieten viel mehr Möglichkeiten und verfügen über eine größere Auswahl an zusätzlichen Bibliotheken für alle Gelegenheiten.
Lassen Sie uns also lernen, wie Sie mit einer heute so beliebten Programmiersprache wie Python Ihre eigene Funktion erstellen können.
Erinnern wir uns zunächst daran, wie Sie mit den Standardtools LibreOffice Calc zum Schreiben von Makros und Funktionen Ihr eigenes Programm schreiben können.
Unten finden Sie den Code für die Funktion
Um Ihre eigene Funktion hinzuzufügen, öffnen Sie das Menü
Function Greeting(sName As String) As String Greeting = "Hello " & sName & "!" End Function
Schließen Sie dann Macro Editor, kehren Sie zu LibreOffice Calc zurück und geben Sie den Namen dieser Funktion in eine beliebige Zelle ein und geben Sie den Eingabeparameter an.
Bevor wir eine Funktion auf Python schreiben, müssen wir zunächst eine *.py-Datei erstellen (
%APPDATA%\LibreOffice\4\user\scripts\python
Wenn Ordner Skripte Und Python fehlen, müssen Sie sie manuell erstellen.
Unten finden Sie das Python-Skript für die Funktion
Um dieses Skript hinzuzufügen, öffnen Sie die Datei
def Greeting(sName):
return "Python say 'Hello' to " + sName + "!"
Schließen Sie es dann
Wir können diese Funktion nicht sofort ausführen, da die LO Calc-Schnittstelle keine direkte Verbindung zu den Python-Funktionen hat.
Um dieses Problem zu lösen, müssen wir eine Zwischenfunktion für StarBasic erstellen:
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
Fügen Sie diese Zwischenfunktion zum Makroeditor StarBasic hinzu (Menü
Rufen Sie nun die Funktion StarBasic auf
Sie können auch ein fertiges Set verwenden Funktionen Und Dienstprogramm geschrieben auf
Danach steht diese Funktionalität in allen Dateien zur Verfügung, die in LibreOffice Calc geöffnet werden.