TOP

Wir schreiben ein Makro auf Python für LibreOffice Calc

Beschreibung

LibreOffice Calc ermöglicht Benutzern das Erstellen eigener Makros 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 Ihre eigenen Makros mit einer so beliebten heutigen Programmiersprache wie Python erstellen können.


Mit dem Office-Programmpaket LibreOffice können Sie eigene Makros in Programmiersprachen von Drittanbietern wie Python, JavaScript, C++, Java erstellen.

StarBASIC Code für HelloWorld

Lassen Sie uns zunächst daran erinnern, wie Sie mit den Standardtools zum Schreiben von Makros von LibreOffice Calc Ihr eigenes Programm schreiben können.

Unten finden Sie den Code für das Makro HelloWorld , was den Satz vorschreibt "Hello World!" in der Zelle "B7" unter Verwendung der integrierten Programmiersprache StarBasic.

Um ein neues Makro hinzuzufügen, öffnen Sie das Menü Tools - Macros - Edit Macros... , wählen Sie Module1 aus und kopieren Sie den folgenden Text in das Modul:

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

Schließen Sie dann Macro Editor, kehren Sie zu LibreOffice Calc zurück und führen Sie unser neues Makro über das Menü aus Tools - Macros - Run Macro...

Python-Ordner

Bevor wir ein Makro auf Python schreiben, müssen wir zunächst eine *.py-Datei erstellen (myPyScripts.py) im folgenden Ordner:

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

Wenn Ordner Skripte Und Python fehlen, müssen Sie sie manuell erstellen.

Python Code für HelloPython

Unten finden Sie das Python-Skript für das Makro HelloPython , was den Satz vorschreibt "Hello Python!" in der Zelle "B8" im Programm LibreOffice Calc.

Um ein neues Makro hinzuzufügen, öffnen Sie die Datei myPyScripts.py mittels Notepad++ (oder Windows Notepad) und kopieren Sie dort folgenden Text:

from scriptforge import CreateScriptService

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

Schließen Sie es dann Notepad++ und kehren Sie zu LibreOffice Calc zurück. Um dieses Skript zu verwirren, öffnen Sie das Menü Tools - Macros - Organise Macros - Python... , wählen "My Macros" , öffnen Sie den Ordner "myPyScripts" und wählen HelloPython Drücken Sie die Taste Run .

Beachten Sie, dass die angegebenen Makros auf StarBasic auf Python die integrierte Bibliothek verwenden ScriptForge . Diese Bibliothek vereinfacht das Schreiben von Makros für Endbenutzer und verbirgt alle Systemfunktionen „unter der Haube“.

Verwendung der Erweiterung

Sie können auch ein fertiges Set verwenden Funktionen Und Dienstprogramm geschrieben auf Python durch die Installation der Erweiterung YLC Utilities .

Danach steht diese Funktionalität in allen Dateien zur Verfügung, die in LibreOffice Calc geöffnet werden.