La bibliothèque ScriptForge

Pour accéder à cette commande...

Ouvrez Outils - Macros - LibreOffice Basic - Éditer et sélectionnez le conteneur Macros d'application.


Les bibliothèques ScriptForge constituent une collection évolutive de ressources de programmation pour LibreOffice qui peuvent être invoquées depuis des macros en Basic ou des scripts en Python.

note

• Les macros Basic nécessitent de charger la bibliothèque ScriptForge à l'aide de l'instruction suivante :
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

• Les scripts Python nécessitent un import depuis le module scriptforge :
from scriptforge import CreateScriptService


tip

Pour en savoir plus sur la création et l'exécution de scripts Python à l'aide de la bibliothèque ScriptForge, lisez la page d'aide Création de scripts Python avec ScriptForge.


Appel des services ScriptForge

Les modules et classes décrits sont appelés à partir de scripts utilisateur en tant que "Services". Un constructeur générique de ces services a été conçu à cet effet pour chaque langage.

La méthode Dispose est disponible dans tous les services et doit être appelée pour libérer des ressources après utilisation :

En Basic :

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

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

Services fournis par la bibliothèque ScriptForge

Catégorie

Services

LibreOffice Basic

Array
Dictionary

Exception
FileSystem

String
TextStream

Contenu du document

Base
Calc

Chart
Database

Document
Writer

Interface utilisateur

Dialog
DialogControl
Form

FormControl
Menu

PopupMenu
UI

Utilitaires

Basic
L10N
Platform

Region
Services
Session

Timer
UnitTest


ScriptForge. Service Array

Fournit une collection de méthodes pour manipuler et transformer des matrices à une dimension (vecteurs) et des matrices à deux dimensions (matrices). Cela inclut les opérations d'ensemble, le tri, l'import depuis et l'export vers des fichiers texte.

Les matrices avec plus de deux dimensions ne peuvent pas être utilisées avec les méthodes de ce service, la seule exception étant la méthode CountDims qui accepte les matrices avec un nombre quelconque de dimensions.

SFDocuments.Service Base

Le service Base fournit un certain nombre de méthodes et de propriétés pour faciliter la gestion et la manipulation des documents LibreOffice Base.

Ce service est étroitement lié au service Document, qui fournit des méthodes génériques pour gérer les documents LibreOffice, y compris les documents Base. Par conséquent, le service Base étend le service Document et fournit des méthodes supplémentaires spécifiques aux documents Base, permettant aux utilisateurs de :

ScriptForge.Service Basic

Le service ScriptForge.Basic propose une collection de méthodes LibreOffice Basic à exécuter dans un contexte Python. Les méthodes de service Basic reproduisent la syntaxe et le comportement exacts des fonctions intégrées Basic.

SFDocuments. Service Calc

La bibliothèque partagée SFDocuments fournit un certain nombre de méthodes et de propriétés pour faciliter la gestion et la manipulation des documents LibreOffice.

Le service SFDocuments.Calc est une sous-classe du service SFDocuments.Document. Toutes les méthodes et propriétés définies pour le service Document sont également accessibles à l'aide d'une instance de service Calc.

Le service Calc se concentre sur :

SFDocuments.Chart service

Le service Chart fournit un ensemble de propriétés et de méthodes pour gérer les diagrammes dans les documents Calc. Avec ce service il est possible de :

Service SFDatabases.Database

Le service Database permet d'accéder aux bases de données intégrées ou décrites dans les documents Base. Ce service fournit des méthodes pour :

SFDialogs. Service Dialog

Le service Dialog contribue à la gestion des dialogues créés avec le Dialog Editor Basic . Chaque instance de la classe actuelle représente une seule boîte de dialogue affichée à l'utilisateur.

SFDialogs. Service DialogControl

Le service DialogControl gère les contrôles appartenant à un dialogue défini avec le Basic Dialog Editor. Chaque instance du service actuel représente un contrôle unique dans une boîte de dialogue.

L'accent est mis sur l'obtention et la définition des valeurs affichées par les contrôles de la boîte de dialogue. La mise en forme est accessible via les propriétés XControlModel et XControlView.

Notez que le contenu unique de la propriété DialogControl.Value varie selon le type de contrôle.

Une attention particulière est portée aux contrôles de type contrôle en arborescence. Il est facile de peupler un arbre, soit branche par branche, soit avec un ensemble de branches à la fois. Le remplissage d'un contrôle d'arborescence peut être effectué de manière statique ou dynamique.

ScriptForge.Dictionary service

A dictionary is a collection of key-item pairs

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:

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:

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:

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:

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:

SFWidgets.Menu service

The Menu service can be used to create and remove menus from the menubar of a LibreOffice document window. Each menu entry can be associated with a script or with a UNO command. This service provides the following capabilities:

ScriptForge.Platform service

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

SFWidgets.PopupMenu service

The PopupMenu service can be used to create popup menus that can be associated with events or executed by scripts. This service provides the following capabilities:

ScriptForge.Region service

The Region service provides a collection of properties and methods to handle locale and region-related aspects of programming, such as:

ScriptForge.Services service

The main purpose of the Services module is to provide access to the CreateScriptService method, which can be called in user scripts to instantiate services that are implemented using the ScriptForge framework.

ScriptForge.Session service

The Session service gathers various general-purpose methods about:

ScriptForge.String service

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

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:

ScriptForge.UI service

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

SFUnitTests.UnitTest service

The UnitTest service provides a framework for automating unit tests using the Basic language, including the ability to:

SFDocuments.Writer service

The SFDocuments shared library provides a number of methods and properties to facilitate the management and handling of LibreOffice documents.

Some methods are generic for all types of documents and are inherited from the SF_Document module, whereas other methods that are specific for Writer documents are defined in the SF_Writer module.

Remarque :les autres modules ScriptForge non décrits sont réservés à un usage interne. Leur contenu est sujet à changement sans préavis.

warning

Toutes les routines ou identifiants de base ScriptForge qui sont préfixés par un caractère de soulignement "_" sont réservés à un usage interne. Ils ne sont pas destinés à être utilisés dans des macros de base ou des scripts Python.


Aidez-nous !