Inhalte
Index 🔎︎

# Die Bibliothek ScriptForge

So greifen Sie auf diesen Befehl zu:

Wählen Sie Extras – Makros – LibreOffice Basic – Bearbeiten… und den Container LibreOffice-Makros.

ScriptForge-Bibliotheken bilden eine erweiterbare Sammlung an Makro-Skriptressourcen für LibreOffice, die von Basic-Makros oder Python-Skripten aufgerufen werden können.

• Basic macros require to load ScriptForge library using the following statement:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Python scripts require an import from scriptforge module:
from scriptforge import CreateScriptService

Um mehr darüber zu erfahren, wie man Python-Skripte mit der Bibliothek ScriptForge erstellt und ausführt, lesen Sie die Hilfeseite Erstellen von Python-Skripten mit ScriptForge.

## Aufrufen von ScriptForge-Diensten

Die beschriebenen Module und Klassen werden von Benutzerskripten als "Dienste" aufgerufen. Zu diesem Zweck wurde für jede Sprache ein generischer Konstruktor für diese Dienste entwickelt:

        GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
        Set oSvc = CreateScriptService("servicename"[, arg0, arg1, ...])
        ' ...
        oSvc.Dispose()

        from scriptforge import CreateScriptService
        svc = CreateScriptService('servicename'[, arg0, arg1, ...])
        # ...
        svc.Dispose()

Die Methode Dispose ist in allen Diensten verfügbar und sollte aufgerufen werden, um Ressourcen nach der Verwendung freizugeben.

## Von der Bibliothek ScriptForge bereitgestellte Dienste

Kategorie | Dienste |
LibreOffice Basic | Array Dictionary Exception | FileSystem String TextStream
Dokumentinhalt | Base Calc Chart | Database Document
Benutzeroberfläche | Dialog DialogControl Form | FormControl PopupMenu UI
Dienstprogramme | Basic L10N Platform | Services Session Timer

## ScriptForge.Array -Service

Stellt eine Sammlung von Methoden zum Bearbeiten und Transformieren von Matrizen mit einer Dimension (Vektoren) und mit zwei Dimensionen bereit. Dazu gehören Set-Operationen, Sortieren, Importieren in und Exportieren aus 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.

## Dienst SFDocuments.Base

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.

## Dienst ScriptForge.Basic

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.

## Dienst SFDocuments.Calc

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

- Kopieren und Importieren riesiger Datenmengen

## Dienst ScriptForge.Chart

Der Dienst Chart bietet eine Reihe von Eigenschaften und Methoden zur Handhabung von Diagrammen in Calc-Dokumenten. Mit diesem Dienst ist es möglich:

- Auf Diagrammobjekte in Calc-Dokumenten zugreifen und deren Eigenschaften bearbeiten.

- Neue Diagramme erstellen und diese in ein Calc-Dokument einfügen.

- Diagramme als Bilddateien exportieren.

## Dienst SFDatabases.Database

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 Funktionen "aggregat" aus.

- Führt SQL-Aktionsanweisungen wie INSERT, UPDATE, DELETE, … aus.

## Dienst SFDialogs.Dialog

Der Dienst Dialog trägt zur Verwaltung von Dialogen bei, die mit dem Dialogeditor Basic erstellt wurden. Jede Instanz der aktuellen Klasse stellt einen einzelnen Dialog dar, der dem Benutzer angezeigt wird.

## Dienst SFDialogs.DialogControl

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.

## Dienst ScriptForge.Dictionary

Ein Wörterbuch ist eine Sammlung von Schlüsselelementpaaren

- Der Schlüssel ist eine Zeichenfolge, bei der die Groß-/Kleinschreibung nicht beachtet wird

- Einträge können von beliebiger Art sein

## Dienst SFDocuments.Document

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

## Dienst ScriptForge.Exception

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.

## Dienst ScriptForge.FileSystem

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, …

## Dienst SFDocuments.Form

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.

## Dienst SFDocuments.FormControl

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.

## Dienst ScriptForge.L10N

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.

## Dienst ScriptForge.Platform

Der Dienst Platform stellt eine Sammlung von Eigenschaften über die aktuelle Ausführungsumgebung und den aktuellen Kontext bereit, beispielsweise:

- Die Hardwareplattform (Architektur, CPU-Anzahl, Maschinentyp, …)

- Informationen zum Betriebssystem (BS-Typ, Release, Version, …)

- Die LibreOffice-Version

- Den aktuellen Benutzernamen

## Dienst ScriptForge.PopupMenu

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.

## Dienst ScriptForge.Services

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.

## Dienst ScriptForge.Session

Der Dienst Session sammelt verschiedene Allzweckmethoden zu:

- der Installations- oder Ausführungsumgebung

- UNO-Introspektion

- dem Aufruf externer Skripte oder Programme

## Dienst ScriptForge.String

Der Dienst String stellt eine Sammlung von Methoden zur Verarbeitung von Zeichenfolgen bereit. Diese Methoden können verwendet werden, um:

- Überprüfen des Inhalts von Zeichenfolgen

- Formatieren von Zeichenfolgen, indem Sie ihren Inhalt kürzen, ausrichten oder umbrechen

- Verwenden Sie reguläre Ausdrücke, um Teilzeichenfolgen zu suchen und zu ersetzen

- Anwenden von Hash-Algorithmen auf Zeichenfolgen, …

## Dienst ScriptForge.TextStream

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.

## Dienst ScriptForge.Timer

Der Dienst Timer misst die Zeit, die zum Ausführen von Benutzerskripten benötigt wird.

Timer misst die Dauer. Es kann sein:

- Gestartet, um anzugeben, wann die Zeitmessung beginnen soll.

- Angehalten, um die Messung der Laufzeit zu unterbrechen.

- Fortgesetzt, um die Laufzeit fortzusetzen, nachdem der Timer ausgesetzt wurde.

- Neu gestartet, wodurch frühere Messungen abgebrochen und der Timer bei Null gestartet wird.

## Dienst ScriptForge.UI

Der Dienst UI (User Interface) vereinfacht die Identifizierung und Handhabung der verschiedenen Fenster, aus denen sich die gesamte LibreOffice-Anwendung zusammensetzt:

- Fensterauswahl

- Fenster verschieben und skalieren

- Statusleisten-Einstellungen

- Anzeige eines schwebenden Fortschrittsbalkens

- Erstellung neuer Fenster

- Zugriff auf die zugrunde liegenden "Dokumente"

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.