Die Bibliothek ScriptForge
      
  
    
    Wählen Sie  und den Container .
 
   
 
    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
 
  
  
  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 dieser Dienste entwickelt.
  Die Methode Dispose ist in allen Diensten verfügbar und sollte aufgerufen werden, um Ressourcen nach der Verwendung freizugeben:
  
  
    GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
    Set oSvc = CreateScriptService("servicename"[, arg0, arg1, ...])
    ' ...
    oSvc.Dispose()
  
    from scriptforge import CreateScriptService
    svc = CreateScriptService('servicename'[, arg0, arg1, ...])
    # ...
    svc.Dispose()
  
Von der Bibliothek ScriptForge bereitgestellte Dienste
  
    
      
  
  
  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 
- 
            Kopieren und Importieren riesiger Datenmengen 
 
    
    
      
    
    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. 
 
    
    
      
    
    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 Dienst Dataset wird zur Darstellung tabellarischer Daten verwendet, die von einer Datenbank erstellt werden. Mit diesem Service ist es möglich:
    
      - 
        Durch die Daten in einem Datenbestand zu navigieren und darauf zuzugreifen. 
- 
        Datensätze in einem Datenbestand zu aktualisieren, einzufügen und zu entfernen. 
 
    
    
      
  
  
  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.
 
    
    
      
  
  
  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 
 
    
    
      
    
  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  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 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 
 
    
    
      
    
    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 Session sammelt verschiedene Allzweckmethoden zu:
    
   
    
    
      
  
  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 und so weiter. 
 
    
    
      
  
  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 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. 
 
    
    
      
    
    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:
    
   
    
    
      
    
    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:
   - 
      Fensterauswahl 
- 
      Fenster verschieben und skalieren 
- 
      Statusleisten-Einstellungen 
- 
      Anzeige eines schwebenden Fortschrittsbalkens 
- 
      Erstellung neuer Fenster 
- 
      Zugriff auf die zugrunde liegenden "Dokumente" 
 
    
    
      
  
  Der Dienst UnitTest bietet ein Framework für die Automatisierung von Komponententests mithilfe der Basic-Sprache, einschließlich der Möglichkeit:
  
    - 
      Testfälle in Testsuiten und Komponententests zusammenzufassen. 
- 
      Setup- und Shutdown-Code zwischen Testfällen zu teilen. 
- 
      Testergebnisse auf der Konsole zu melden. 
 
    
    
      
    
    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.