ScriptForge-Bibliotheken

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 ScriptForge Bibliothek erstellt und ausführt, lesen Sie die Hilfeseite Creating Python Scripts with ScriptForge.

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, ...])

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

Die Bibliothek ScriptForge Basic ist ab LibreOffice 7.1 verfügbar.
Das Modul Python scriptforge ist ab LibreOffice 7.2 verfügbar.

## Von der Bibliothek ScriptForge bereitgestellte Dienste

Kategorie | Dienste |
LibreOffice Basic | Array Dictionary Exception | FileSystem String TextStream
Dokumentinhalt | Base Calc | Database Document
Benutzeroberfläche | Dialog DialogControl UI | Form FormControl
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.

Dieser Dienst ist ab LibreOffice 7.2 verfügbar.

## 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.

Dieser Dienst ist ab LibreOffice 7.2 verfügbar.

## Dienst SFDocuments.Calc

Die Bibliothek SFDocuments bietet eine Reihe von Methoden und Eigenschaften, um die Verwaltung und Handhabung von LibreOffice Calc-Dokumenten zu erleichtern.

Einige Methoden sind generisch für alle Arten von Dokumenten und werden vom Dienst Document geerbt, während andere Methoden spezifisch für das Modul SF_Calc sind.

Das Modul SF_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 SFDatabases.Database

Der Dienst Database bietet Zugriff auf Datenbanken, die entweder eingebettet oder in Basisdokumenten 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

## SFDocuments.Document service

The SFDocuments library provides methods and properties to facilitate the management and manipulation of LibreOffice documents.

Methods that are applicable for all types of documents (Text Documents, Sheets, Presentations, etc) are provided by the SFDocuments.Document service. Some examples are:

- Opening, closing and saving documents

- Accessing standard or custom properties of documents

## ScriptForge.Exception service

The Exception service is a collection of methods to assist in code debugging in Basic and Python scripts and in error handling in Basic scripts.

In Basic scripts, when a run-time error occurs, the methods and properties of the Exception service help identify the error context and allow to handle it.

## ScriptForge.FileSystem service

The FileSystem service includes routines to handle files and folders. Next are some examples of the features provided by this service:

- Verify whether a file or folder exists.

- Create and delete folders and files.

- Launch dialog boxes to open/save files.

- Access the list of files in a folder, etc.

## SFDocuments.Form service

The Form service provides methods and properties to manage forms in LibreOffice documents. This service supports forms in Base, Calc and Writer documents and allows to:

- Open and activate forms.

- Navigate through records shown by the form.

- Get access to the controls inside the form.

- Get access to subforms of a parent form.

## SFDocuments.FormControl service

The FormControl service provides access to the controls that belong to a form, a subform or a table control of a FormDocument. Each instance of the FormControl service refers to a single control in the form. This service allows users to:

- Get and set the properties of the control represented by the FormControl instance.

- Access the current value displayed by the control.

- Set the focus on the desired control.

## ScriptForge.L10N service

This service provides a number of methods related to the translation of strings with minimal impact on the program's source code. The methods provided by the L10N service can be used mainly to:

- Create POT files that can be used as templates for translation of all strings in the program.

- Get translated strings at runtime for the language defined in the Locale property.

## ScriptForge.Platform service

The Platform service provides a collection of properties about the current execution environment and context, such as:

- The hardware platform (architecture, CPU count, machine type, etc)

- Operating system information (OS type, release, version, etc)

- The LibreOffice version

- The current user name

## ScriptForge.Services service

The ScriptForge library is built upon an extensible collection of so-called "Services".
This collection is implemented as categories of Basic libraries or Python modules:

1. the standard ScriptForge library shipped with LibreOffice

2. a number of "associated" libraries shipped with LibreOffice as well

3. any user/contributor LibreOffice extension wanting to fit into the same framework

## ScriptForge.Session service

The Session service gathers various general-purpose methods about:

- the installation or execution environment

- UNO introspection

- the invocation of external scripts or programs

## ScriptForge.String service

The String service provides a collection of methods for string processing. These methods can be used to:

- Validate the contents of strings

- Format strings by trimming, justifying or wrapping their contents

- Use regular expressions to search and replace substrings

- Apply hash algorithms on strings, etc.

## ScriptForge.TextStream service

The TextStream service is used to sequentially read from and write to files opened or created using the ScriptForge.FileSystem service.

The methods OpenTextFile and CreateTextFile from the FileSystem service return an instance of the TextStream service.

## ScriptForge.Timer service

The Timer service measures the amount of time it takes to run user scripts.

A Timer measures durations. It can be:

- Started, to indicate when to start measuring time.

- Suspended, to pause measuring running time.

- Resumed, to continue tracking running time after the Timer has been suspended.

- Restarted, which will cancel previous measurements and start the Timer at zero.

## ScriptForge.UI service

The UI (User Interface) service simplifies the identification and the manipulation of the different windows composing the whole LibreOffice application:

- Windows selection

- Windows moving and resizing

- Statusbar settings

- Display of a floating progress bar

- Creation of new windows

- Access to the underlying "documents"

Hinweis: Andere unbeschriebene ScriptForge-Module sind für die interne Verwendung reserviert. Ihr Inhalt kann ohne vorherige Ankündigung geändert werden.

Alle Basic-Routinen oder -Identifikatoren von ScriptForge mit einem Unterstrich "_" sind für internen Gebrauch reserviert. Sie sind nicht für den Einsatz in Basic-Macros gedacht.