LibreOffice Calc ermöglicht Benutzern, eigene Makros in der Sprache Python zu erstellen, diese Makros können jedoch nur auf dem PC des Benutzers, d.h. in der Anwendung selbst, gespeichert werden. Leider bietet LO Calc keine eingebaute Möglichkeit, Python-Skripte in der *.ods-Datei selbst zu speichern, was die Arbeit mit solchen Skripten erschwert, da sie nicht zusammen mit den Daten an einen anderen Benutzer weitergegeben werden können.
Dieses Problem kann nur manuell gelöst werden, indem die *.ods-Datei neu gepackt und die erforderlichen Python-Skripte hinzugefügt werden.
Lassen Sie uns also herausfinden, wie Sie Python-Skripte in eine ODS-Datei einbetten können, damit sie an andere Benutzer gesendet werden können.
Alle Makros in Python werden im folgenden Ordner gespeichert:
%APPDATA%\LibreOffice\4\user\Scripts\python
Wenn die Ordner Scripts und python nicht vorhanden sind, müssen Sie diese manuell erstellen.
Nachfolgend finden Sie das Python-Skript für das Makro
Um ein neues Makro hinzuzufügen, erstellen Sie eine Datei
from scriptforge import CreateScriptService
def HelloPython():
doc = CreateScriptService("Calc")
doc.SetValue("B8", "Hello Python!")
return None
Schließen Sie dann
Um ein Python-Skript in eine *.ods-Datei zu übertragen, müssen Sie diese mit einem beliebigen Archivierungsprogramm (7-zip, WinRAR usw.) in einen separaten Ordner entpacken. Ja, das ist richtig, Ihre *.ods-Datei ist lediglich ein Archiv von Ordnern und Dateien.
Erstellen Sie anschließend in diesem entpackten Ordner einen Unterordner Scripts und darin einen Unterordner python. Kopieren Sie im nächsten Schritt die Datei
Sie müssen auch den Pfad zur Datei, in der sich Ihr Python-Makro befindet, explizit angeben. Dazu bearbeiten Sie in dem Ordner META-INF die Datei manifest.xml, indem Sie die folgende Zeile hinzufügen:
<manifest:file-entry manifest:full-path="Scripts/python/myPyScripts.py" manifest:media-type="application/binary"/>
Archivieren Sie nun den Inhalt des zuvor entpackten Ordners mit Ihren Änderungen in einem *.zip-Archiv. Benennen Sie anschließend dieses Archiv um, indem Sie seinen Namen (um Ihre Originaldatei nicht zu überschreiben) und die Erweiterung von *.zip in *.ods ändern.
Sie können auch einen fertigen Satz von Funktionen und Dienstprogrammen, geschrieben in
Danach steht diese Funktionalität in allen Dateien zur Verfügung, die in LibreOffice Calc geöffnet werden.