Bibliothèques ScriptForge

Contenu
Index 🔎︎

# La bibliothèque ScriptForge

Pour accéder à cette commande...

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

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.

• 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

Pour en savoir plus quant à la création et l'exécution de scripts en Python utilisant la bibliothèque ScriptForge, lisez la Creating Python Scripts with ScriptForgepage d'aide.

Les modules et les classes décrits ici sont invoquées par les scripts utilisateur comme "Services". Un constructeur générique de ces services a été conçu dans ce but pour chaque langage :

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

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

La bibliothèque ScriptForge pour Basic est disponible à partir de LibreOffice 7.1 et supérieur.
Le module scriptforge en Python est disponible à partir de LibreOffice 7.2 et supérieur.

## Services fournis par la bibliothèque ScriptForge

Catégorie | Services |
LibreOffice Basic | Array Dictionary Exception | FileSystem String TextStream
Contenu du document | Base Calc | Database Document
Interface utilisateur | Dialog DialogControl UI | Form FormControl
Utilitaires | Basic L10N Platform | Services Session Timer

## ScriptForge. Service Array

Fournit une collection de méthodes pour manipuler et transformer des matrices d'une dimension (vecteurs) et des matrices de deux dimensions (matrices). Cela inclut les opérations d'ensemble, le tri, l'import et l'export à partir de 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 :

- Accéder à la base de données contenue dans un document Base.

- Ouvrir les documents de formulaire stockés dans un document Base.

- Vérifier si un document de formulaire à partir d'un document Base est actuellement chargé.

Ce service est disponible à partir de LibreOffice 7.2 et supérieures.

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

Ce service est disponible à partir de LibreOffice 7.2 et supérieures.

## SFDocuments. Service Calc

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

Some methods are generic for all types of documents and are inherited from the Document service, whereas other methods are specific for the SF_Calc module.

The SF_Calc module is focused on:

- Gestion des feuilles dans un document Calc (copier, insérer, déplacer, etc.)

- Échange de données entre les structures de données de base et les plages Calc

- Copier et importer des quantités massives de données

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

- Accéder aux données des tables de la base de données.

- Exécuter des requêtes SELECT et exécuter des fonctions d'agrégation.

- Exécuter des instructions d'action SQL telles que INSERT, UPDATE, DELETE, etc.

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

- The key is a case-insensitive string

- Items may be of any type

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

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

Toutes les routines ou identificateurs Basic ScriptForge précédés d'un trait de soulignement "_" sont réservés à un usage interne. Ils ne sont pas destinés à être utilisés dans les macros Basic.