Библиотеката ScriptForge

За достъп до тази команда...

Отворете Инструменти - Макроси - LibreOffice Basic - Редактиране и изберете контейнера Макроси на LibreOffice.


Библиотеките ScriptForge представляват разширяем набор от ресурси за скриптиране на макроси за LibreOffice, които могат да бъдат използвани от макроси на Basic или скриптове на Python.

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

За да научите повече за създаването и изпълняването на скриптове на Python с библиотеката ScriptForge, прочетете страницата Creating Python Scripts with ScriptForge в помощта.


Описаните модули и класове се извикват от потребителски скриптове като „Услуги“. За тази цел за всеки език е проектиран общ конструктор на тези услуги:


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

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

Библиотеката на Basic ScriptForge е налична от LibreOffice 7.1 нататък.
Модулът на Python scriptforge е наличен от LibreOffice 7.2 нататък.


Услуги, предоставяни от библиотеката ScriptForge

Категория

Услуги

LibreOffice Basic

Array
Dictionary
Exception

FileSystem
String
TextStream

Съдържание на документа

Base
Calc

Database
Document

Потребителски интерфейс

Dialog
DialogControl
UI

Form
FormControl

Помощни средства

Basic
L10N
Platform

Services
Session
Timer


Услуга ScriptForge.Array

Предоставя набор от методи за манипулиране и трансформиране на едномерни масиви (вектори) и двумерни масиви (матрици). Това включва операции с множества, сортиране, импортиране и експортиране от текстови файлове.

Масиви с повече от две измерения не могат да се използват с методите в тази услуга, с изключение само на метода CountDims, който приема масиви с произволен брой измерения.

Услуга SFDocuments.Base

Услугата Base предоставя методи и свойства за управление и работа с документи на LibreOffice Base.

Тази услуга е тясно свързана с услугата Document, която предоставя общи методи за работа с документи на LibreOffice, включително такива на Base. Следователно услугата Base разширява Document и предлага допълнителни методи, специфични за документите на Base, като позволява на потребителите:

note

Тази услуга е налична от LibreOffice 7.2 нататък.


ScriptForge.Basic service

The ScriptForge.Basic service proposes a collection of LibreOffice Basic methods to be executed in a Python context. Basic service methods reproduce the exact syntax and behaviour of Basic builtin functions.

note

Тази услуга е налична от LibreOffice 7.2 нататък.


SFDocuments.Calc service

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:

SFDatabases.Database service

The Database service provides access to databases either embedded or described in Base documents. This service provides methods to:

SFDialogs.Dialog service

The Dialog service contributes to the management of dialogs created with the Basic Dialog Editor. Each instance of the current class represents a single dialog box displayed to the user.

SFDialogs.DialogControl service

The DialogControl service manages the controls belonging to a dialog defined with the Basic Dialog Editor. Each instance of the current service represents a single control within a dialog box.

The focus is set on getting and setting the values displayed by the controls of the dialog box. Formatting is accessible via the XControlModel and XControlView properties.

Note that the unique DialogControl.Value property content varies according to the control type.

A special attention is given to controls of type tree control. It is easy to populate a tree, either branch by branch, or with a set of branches at once. Populating a tree control can be performed statically or dynamically.

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:

ScriptForge.Platform service

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

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:

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:

Бележка: други, неописани модули на ScriptForge са запазени за вътрешна употреба. Съдържанието им подлежи на промяна без предизвестие.

warning

В ScriptForge всички подпрограми или идентификатори на Basic с префикс „_“ са запазени за вътрешна употреба. Те не са предназначени за използване в макроси на Basic.


Моля, подкрепете ни!