Wählen Sie Extras – Makros – LibreOffice Basic – Bearbeiten… und den Container Anwendungsmakros.
ScriptForge-Bibliotheken bilden eine erweiterbare Sammlung an Makro-Skriptressourcen für LibreOffice, die von Basic-Makros oder Python-Skripten aufgerufen werden können.
• Grundlegende Makros erfordern das Laden der Bibliothek ScriptForge mit der folgenden Anweisung: GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Python-Skripte erfordern einen Import aus dem Modul scriptforge: from scriptforge import CreateScriptService
Die beschriebenen Module und Klassen werden von Benutzerskripten als "Dienste" aufgerufen. Zu diesem Zweck wurde für jede Sprache ein generischer Konstruktor dieser Dienste entwickelt.
Die Methode Dispose ist in allen Diensten verfügbar und sollte aufgerufen werden, um Ressourcen nach der Verwendung freizugeben:
Stellt eine Sammlung von Methoden zum Bearbeiten und Transformieren von Matrizen mit einer Dimension (Vektoren) und MAtrizen mit zwei Dimensionen bereit. Dazu gehören Set-Operationen, Sortieren, Importieren aus und Exportieren in Textdateien.
Matrizen mit mehr als zwei Dimensionen können mit den Methoden in diesem Dienst nicht verwendet werden, die einzige Ausnahme ist die Methode CountDims, die Matrizen mit einer beliebigen Anzahl von Dimensionen akzeptiert.
Der Dienst Base bietet eine Reihe von Methoden und Eigenschaften, um die Verwaltung und Handhabung von LibreOffice Base-Dokumenten zu erleichtern.
Dieser Dienst ist eng mit dem Dienst Document verbunden, der generische Methoden zur Handhabung von LibreOffice-Dokumenten, einschließlich Basisdokumenten, bereitstellt. Daher erweitert der Dienst Base den Dienst Document und stellt zusätzliche Methoden bereit, die spezifisch für Base-Dokumente sind und Benutzern Folgendes ermöglichen:
Zugriff auf die Datenbank erhalten, die in einem Base-Dokument enthalten ist.
Formulardokumente öffnen, die in einem Base-Dokument gespeichert sind.
Überprüfen, ob derzeit ein Formulardokument aus einem Base-Dokument geladen ist.
Der Dienst ScriptForge.Basic schlägt eine Sammlung von LibreOffice Basic-Methoden vor, die in einem Python-Kontext ausgeführt werden können. Die Methoden des Dienstes Basic reproduzieren die genaue Syntax und das Verhalten der integrierten Basic-Funktionen.
Die gemeinsam genutzte Bibliothek SFDocuments bietet eine Reihe von Methoden und Eigenschaften, um die Verwaltung und Handhabung von LibreOffice-Dokumenten zu erleichtern.
Der Dienst SFDocuments.Calc ist eine Unterklasse de Dienstes SFDocuments.Document. Auf alle für den Dienst Document definierten Methoden und Eigenschaften kann auch über eine Dienstinstanz Calc zugegriffen werden.
Der Dienst Calc konzentriert sich auf:
Umgang mit Tabellen in einem Calc-Dokument (Kopieren, Einfügen, Verschieben, …)
Datenaustausch zwischen Basic-Datenstrukturen und Calc-Bereichen
Der Dienst Database bietet Zugriff auf Datenbanken, die entweder eingebettet oder in Base-Dokumenten beschrieben sind. Dieser Dienst bietet Methoden für Folgendes:
Erhält Zugriff auf Daten in Datenbanktabellen.
Führt Abfragen SELECT und Aggregatfunktionen aus.
Führt SQL-Aktionsanweisungen wie INSERT, UPDATE, DELETE, … aus.
Der Service Datasheet ermöglicht es, den Inhalt von Datenbanktabellen sowie die Ergebnisse von Abfragen und SQL-Anweisungen mithilfe von Base Data View zu visualisieren. Darüber hinaus ermöglicht dieser Dienst Folgendes:
Der Datenansicht benutzerdefinierte Menüs hinzufügen.
Auf Werte an bestimmten Positionen der Datenansicht zugreifen.
Den Cursor in einer bestimmten Zelle der Datenansicht positionieren.
Der Dienst Dialog trägt zur Verwaltung von Dialogen bei, die mit dem Dialogeditor Basic erstellt wurden, oder von Dialogen, die im laufenden Betrieb erstellt wurden. Jede Instanz der aktuellen Klasse stellt einen einzelnen Dialog dar, der dem Benutzer angezeigt wird.
Der Dienst DialogControl verwaltet die Steuerelemente, die zu einem Dialog gehören, der mit dem einfachen Dialogeditor definiert wurde. Jede Instanz des aktuellen Dienstes stellt ein einzelnes Steuerelement innerhalb eines Dialogs dar.
Der Schwerpunkt liegt auf dem Abrufen und Festlegen der Werte, die von den Steuerelementen des Dialogs angezeigt werden. Auf die Formatierung kann über die Eigenschaften XControlModel und XControlView zugegriffen werden.
Beachten Sie, dass der Inhalt der eindeutigen Eigenschaft DialogControl.Value je nach Steuerelementtyp variiert.
Ein besonderes Augenmerk wird auf Steuerelemente vom Typ Baumansicht gelegt. Es ist einfach, einen Baum zu füllen, entweder Zweig für Zweig oder mit mehreren Zweigen parallel. Das Füllen eines Baumansicht-Steuerelements kann statisch oder dynamisch erfolgen.
Die Bibliothek SFDocuments stellt Methoden und Eigenschaften bereit, um die Verwaltung und Bearbeitung von LibreOffice-Dokumenten zu erleichtern.
Der Dienst SFDocuments.Document stellt Methoden zur Verfügung, die für alle Arten von Dokumenten (Textdokumente, Blätter, Präsentationen, …) anwendbar sind. Einige Beispiele sind:
Dokumente öffnen, schließen und speichern
Zugriff auf standardmäßige oder benutzerdefinierte Eigenschaften von Dokumenten
Der Dienst Exception ist eine Sammlung von Methoden zur Unterstützung beim Code-Debugging in Basic- und Python-Skripten und bei der Fehlerbehandlung in Basic-Skripten.
Wenn in Basic-Skripten ein Laufzeitfehler auftritt, helfen die Methoden und Eigenschaften des Dienstes Exception dabei, den Fehlerkontext zu identifizieren und ihn zu behandeln.
Der Dienst FileSystem enthält Routinen zur Handhabung von Dateien und Ordnern. Als erstes sind einige Beispiele für die Funktionen dieses Dienstes aufgeführt:
Überprüfen, ob eine Datei oder ein Ordner vorhanden ist.
Erstellen und löschen von Ordnern und Dateien.
Starten von Dialogen zum Öffnen/Speichern von Dateien.
Zugreifen auf die Liste der Dateien in einem Ordner und so weiter.
Der Dienst Form stellt Methoden und Eigenschaften bereit, um Formulare in LibreOffice-Dokumenten zu verwalten. Dieser Dienst unterstützt Formulare in Base-, Calc- und Writer-Dokumenten und ermöglicht Folgendes:
Formulare öffnen und aktivieren.
Durch die vom Formular angezeigten Datensätze navigieren.
Zugriff auf die Steuerelemente im Formular erhalten.
Zugriff auf Unterformulare eines übergeordneten Formulars erhalten.
Der Dienst FormControl bietet Zugriff auf die Steuerelemente, die zu einem Formular, einem Unterformular oder einem Tabellensteuerelement eines FormDocument gehören. Jede Instanz des Dienstes FormControl verweist auf ein einzelnes Steuerelement im Formular. Dieser Dienst ermöglicht Benutzern:
Das Abrufen und Festlegen der Eigenschaften des Steuerelements, das durch die Instanz FormControl dargestellt wird.
Den Zugriff auf den aktuellen Wert, der vom Steuerelement angezeigt wird.
Das Setzen des Fokus auf das gewünschte Steuerelement.
Der Dienst FormDocument ermöglicht den Zugriff auf Formulardokumente, die in Dokumenten für LibreOffice Base gespeichert sind.
In einem Base-Dokument können vorhandene Formulardokumente angezeigt werden, indem Sie in der Benutzeroberfläche Ansicht – Formulare… wählen. Jedes Formulardokument kann aus einem oder mehreren Formularen bestehen, einschließlich des Hauptformulars und anderer Unterformulare.
Dieser Dienst bietet eine Reihe von Methoden zur Übersetzung von Zeichenfolgen mit minimaler Auswirkung auf den Quellcode des Programms. Die vom Dienst L10N bereitgestellten Methoden können hauptsächlich für Folgendes verwendet werden:
Erstellen von POT-Dateien, die als Vorlagen für die Übersetzung aller Zeichenfolgen im Programm verwendet werden können.
Um zur Laufzeit übersetzte Zeichenfolgen für die Sprache zu erhalten, die in der Eigenschaft Locale festgelegt ist.
Der Dienst Menu kann zum Erstellen und Entfernen von Menüs aus der Menüleiste eines LibreOffice-Dokumentfensters verwendet werden. Jeder Menüeintrag kann einem Skript oder einem UNO-Befehl zugeordnet werden. Dieser Dienst bietet die folgenden Funktionen:
Erstellung von Menüs mit benutzerdefinierten Einträgen, Markierfeldern, Optionsfeldern und Trennzeichen.
Dekoration von Menüpunkten mit Symbolen und Infoboxen.
Der Dienst PopupMenu kann verwendet werden, um Popup-Menüs zu erstellen, die Ereignissen zugeordnet oder von Skripten ausgeführt werden können. Dieser Dienst bietet die folgenden Funktionen:
Erstellung von Popup-Menüs mit benutzerdefinierten Einträgen, Markier- und Optionsfeldern.
Dekoration von Menüeinträgen mit Icons und Infotexten.
Der Dienst Region stellt eine Sammlung von Eigenschaften und Methoden bereit, um gebietsschema- und regionsbezogene Aspekte der Programmierung zu handhaben, wie zum Beispiel:
Zugriff auf gebietsschema- und regionsabhängige Einstellungen wie Zahlenformatierung, Währung und Zeitzonen.
Konvertierung von Zeitzonen und Berechnen von Abweichungen von der Sommerzeit (DST).
Umwandlung von Zahlen in Text in jeder unterstützten Sprache.
Der Hauptzweck des Moduls Services besteht darin, Zugriff auf die Methode CreateScriptService bereitzustellen, die in Benutzerskripten aufgerufen werden kann, um Dienste zu instanziieren, die mit dem Framework ScriptForge implementiert werden.
Der Dienst TextStream wird verwendet, um sequentiell aus Dateien zu lesen und in Dateien zu schreiben, die mit dem Dienst ScriptForge.FileSystem geöffnet oder erstellt wurden.
Die Methoden OpenTextFile und CreateTextFile des Dienstes FileSystem geben eine Instanz des Dienstes TextStream zurück.
Der Dienst Toolbar ermöglicht das Abrufen von Informationen zu den Symbolleisten, die für ein bestimmtes Dokumentfenster verfügbar sind. Mit diesem Service ist es möglich:
Die Sichtbarkeit bestimmter Symbolleisten umzuschalten.
Auf Informationen zu den in den einzelnen Symbolleisten verfügbaren Schaltflächen zuzugreifen.
Der Dienst ToolbarButton ermöglicht das Abrufen von Informationen zu den Symbolleistenschaltflächen, die in einer bestimmten Symbolleiste verfügbar sind. Mit diesem Service ist es möglich:
Die Sichtbarkeit von Symbolleistenelementen umzuschalten.
Den Befehl auszuführen, der einer bestimmten Symbolleistenschaltfläche zugeordnet ist.
Der Dienst UI (User Interface) vereinfacht die Identifizierung und Handhabung der verschiedenen Fenster, aus denen sich die gesamte LibreOffice-Anwendung zusammensetzt:
Die gemeinsam genutzte Bibliothek SFDocuments bietet eine Reihe von Methoden und Eigenschaften, um die Verwaltung und Handhabung von LibreOffice-Dokumenten zu erleichtern.
Einige Methoden sind generisch für alle Arten von Dokumenten und werden vom Modul SF_Document geerbt, während andere Methoden, die spezifisch für Writer-Dokumente sind, im Modul SF_Writer definiert sind.
Hinweis: Andere unbeschriebene ScriptForge-Module sind für die interne Verwendung reserviert. Ihr Inhalt kann ohne vorherige Ankündigung geändert werden.
Alle ScriptForge Basic-Routinen oder Bezeichner, denen ein Unterstrich "_" vorangestellt ist, sind für den internen Gebrauch reserviert. Sie sind nicht für die Verwendung in Basic-Makros oder Python-Skripten vorgesehen.