De ScriptForge bibliotheek

Om toegang te krijgen tot deze functie..

Open Extra - Macros - LibreOffice BASIC - Bewerken en selecteer LibreOffice Macros container.


ScriptForge bibliotheken zijn een uitbreidbare collectie van macro-scripts voor LibreOffice die aangeroepen kunnen worden door Basic-macro's en Python-scripts.

note

• 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


tip

Lees, voor een uitleg hoe een Python-script te maken en uit te voeren met gebruik van de ScriptForge bibliotheek, de help-pagina.


ScriptForge services activeren

De beschreven modules en klassen worden aangeroepen vanuit gebruikersscripts als "Services". Voor dat doel is voor elke taal een generieke constructor van die services ontworpen:


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

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

De methode Dispose is beschikbaar in alle services en moet worden aangeroepen om na gebruik bronnen vrij te maken.

Services beschikbaar in de ScriptForge-bibliotheek

Categorie

Services

LibreOffice BASIC

Array
Dictionary
Exception

FileSystem
String
TextStream

Documentinhoud

Base
Calc
Chart

Database
Document

Gebruikersinterface

Dialog
DialogControl
Form

FormControl
PopupMenu
UI

Hulpprogramma's

Basic
L10N
Platform

Services
Session
Timer


ScriptForge.Array service

Geeft methoden voor het manipuleren en omzetten van eendimensionale matrixen (vectoren) en tweedimensionale matrixen. Dit is inclusief het zetten, sorteren, importeren uit en exporteren naar tekstbestanden.

Voor matrixen met meer dan twee dimensies kunnen deze methoden niet worden gebruikt, hierop is één uitzondering, de methode CountDims.

SFDocuments.Base service

De service Base heeft een aantal methoden en eigenschappen voor het ondersteunen van het beheren en werken met LibreOffice Base-documenten.

Deze service is sterk gerelateerd aan de service Document, die generieke methoden bevat door het werken met LibreOffice documenten, inclusief Base-documenten. Deze service Base is dus eigenlijk een uitbreiding op de service Document en geeft aanvullende methoden die specifiek zijn voor Base-documenten, waarmee gebruiken kunnen:

ScriptForge.Basic service

De service ScriptForge.Basic bevat een aantal LibreOffice Basic methoden die vanuit Python uitgevoerd kunnen worden. De methoden in de service Basic gebruiken dezelfde syntaxis en doen hetzelfde als de ingebouwde Basic-functies.

SFDocuments.Calc service

De gedeelde bibliotheek SFDocuments biedt een aantal methoden en eigenschappen om het beheer en de verwerking van LibreOffice-documenten te vergemakkelijken.

De service SFDocuments.Calc is een subklasse van de service SFDocuments.Document. Alle methoden en eigenschappen die gedefinieerd zijn voor de service Document kunnen ook benaderd worden via een instantie van de service Calc.

De service Calc is gericht op:

Service ScriptForge.Chart

De service Chart heeft een aantal eigenschappen en methoden voor het werken met diagrammen in Calc.Met deze methode is het mogelijk om:

SFDatabases.Database-service

De service Database biedt toegang tot databases die zijn ingesloten of beschreven in Base-documenten. Deze service biedt methoden om:

SFDialogs.Dialog-service

De service Dialog draagt bij aan het beheer van dialoogvensters die zijn gemaakt met de Basic Dialog Editor. Elk exemplaar van de huidige klasse vertegenwoordigt een enkel dialoogvenster dat aan de gebruiker wordt weergegeven.

service SFDialogs.DialogControl

De service DialogControl beheert de bedieningselementen die horen bij een dialoogvenster dat is gedefinieerd met de Basic Dialog Editor. Elk exemplaar van de huidige service vertegenwoordigt een enkel besturingselement in een dialoogvenster.

De focus ligt op het verkrijgen en instellen van de waarden die worden weergegeven door de bedieningselementen van het dialoogvenster. Opmaak is toegankelijk via de eigenschappen XControlModel en XControlView.

Merk op dat de unieke inhoud van de eigenschap DialogControl.Value varieert afhankelijk van het type besturingselement.

Speciale aandacht wordt besteed aan besturingen van het type boombesturing. Het is gemakkelijk om een boom te bevolken, tak voor tak, of met een set takken tegelijk. Het vullen van een boombesturing kan statisch of dynamisch worden uitgevoerd.

ScriptForge.Dictionary dienst

Een woordenboek is een verzameling sleutel-itemparen

SFDocuments.Document-service

De bibliotheek SFDocuments biedt methoden en eigenschappen om het beheer en de manipulatie van LibreOffice-documenten te vergemakkelijken.

Methoden die van toepassing zijn op alle soorten documenten (tekstdocumenten, bladen, presentaties, enz.) worden geleverd door de service SFDocuments.Document. Enkele voorbeelden zijn:

service ScriptForge.Exception

De service Exception is een verzameling methoden om te helpen bij het debuggen van code in Basic- en Python-scripts en bij foutafhandeling in Basic-scripts.

Wanneer in Basic-scripts een runtime-fout optreedt, helpen de methoden en eigenschappen van de Exception-service om de foutcontext te identificeren en deze af te handelen.

ScriptForge.FileSystem service

De service FileSystem bevat routines om met bestanden en mappen te werken. Enkele voorbeelden van de functies in deze service:

SFDocuments.Form-service

De service Form biedt methoden en eigenschappen om formulieren in LibreOffice-documenten te beheren. Deze service ondersteunt formulieren in Base-, Calc- en Writer-documenten en maakt het volgende mogelijk:

SFDocuments.FormControl-service

De service FormControl biedt toegang tot de besturingselementen die horen bij een formulier, een subformulier of een tabelbesturingselement van een FormDocument. Elke instantie van de service FormControl verwijst naar een enkel besturingselement in het formulier. Met deze service kunnen gebruikers:

Service ScriptForge.L10N

De service bevat een aantal methoden gerelateerd met de vertaling van teksten van de applicatie en zou geen gevolgen moeten hebben voor de werking van de applicatie. De methoden in de service L10N worden hoofdzakelijk gebruikt voor:

Service ScriptForge.Platform

De service Platform biedt een verzameling eigenschappen over de huidige uitvoeringsomgeving en context, zoals:

Service ScriptForge.PopupMenu

De service PopupMenu kan worden gebruikt om pop-upmenu's te maken die aan gebeurtenissen kunnen worden gekoppeld of door scripts kunnen worden uitgevoerd. Deze service biedt de volgende mogelijkheden:

Service ScriptForge.Services

Het belangrijkste doel van de module Services is om toegang te bieden tot de methode CreateScriptService, die kan worden aangeroepen in gebruikersscripts om services te instantiëren die zijn geïmplementeerd met behulp van het ScriptForge-framework.

Service ScriptForge.Session

De service Session verzamelt verschillende algemene methoden over:

ScriptForge.String service

De service String service heeft een aantal methoden voor het werken met tekenreeksen. Deze methoden kunnen gebruikt worden om:

Service ScriptForge.TextStream

De service TextStream wordt gebruikt om achtereenvolgens te lezen van en te schrijven naar bestanden die zijn geopend of gemaakt met de service ScriptForge.FileSystem.

De methoden OpenTextFile en CreateTextFile van de service FileSystem retourneren een instantie van de service TextStream.

Service ScriptForge.Timer

De service Timer meet de hoeveelheid tijd die nodig is om gebruikersscripts uit te voeren.

Een Timer meet de tijdsduur. Het kan zijn:

Service ScriptForge.UI

De service UI (User Interface) vereenvoudigt de identificatie en de manipulatie van de verschillende vensters die de hele LibreOffice-toepassing vormen:

NB: Overige ScriptForge-modules die hier niet beschreven zijn, dienen voor intern gebruik door ScriptForge. Deze modules kunnen zonder kennisgeving worden gewijzigd.

warning

Alle ScriptForge Basic-routines of variabelen die beginnen met een underscore "_" zijn voor intern gebruik. Gebruik deze niet in een Basic of Python-macro.