La biblioteca ScriptForge

Para acceder a esta orden…

Abra Herramientas ▸ Macros ▸ LibreOffice BASIC ▸ Editar y seleccione el contenedor Macros de la aplicación.


Las bibliotecas de ScriptForge constituyen una amplia colección de recursos de programación para LibreOffice que pueden invocarse desde macros escritas en BASIC o secuencias de órdenes escritas en Python.

note

• Para cargar la biblioteca ScriptForge que necesitan las macros de Basic se debe usar la siguiente declaración:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

• Los scripts de Python necesitan importar el módulo scriptforge:
from scriptforge import CreateScriptService


tip

Para saber más sobre cómo crear y ejecutar secuencias escritas en Python mediante la biblioteca ScriptForge, lea la página de la Ayuda Crear secuencias de órdenes Python con ScriptForge.


Invocar los servicios de ScriptForge

Los módulos y las clases descritos se invocan desde secuencias de usuario como «servicios». En cada lenguaje existe un constructor genérico de estos servicios con el propósito de efectuar dicha invocación.

El método Dispose está disponible en todos los servicios y debe llamarse para liberar recursos después de su uso:

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()
  

Servicios que ofrece la biblioteca ScriptForge

Categoría

Servicios

LibreOffice Basic

Array
Dictionary

Exception
FileSystem

String
TextStream

Contenido del documento

Base
Calc

Chart
Database

Document
Writer

Interfaz de usuario

Dialog
DialogControl
Form

FormControl
Menu

PopupMenu
UI

Utilidades

Basic
L10N
Platform

Region
Services
Session

Timer
UnitTest


Servicio ScriptForge.Array

Facilita una colección de métodos para manipular y transformar formaciones de una dimensión (vectores) y de dos (matrices). La colección incluye operaciones de conjunto, ordenación, importación y exportación a partir de archivos de texto.

Las matrices con más de dos dimensiones no pueden utilizarse con los métodos de este servicio, siendo la única excepción el método CountDims, que acepta matrices con cualquier número de dimensiones.

Servicio SFDocuments.Base

El servicio Base proporciona diversos métodos y propiedades que facilitan la gestión y la manipulación de los documentos de LibreOffice Base.

Este servicio está estrechamente relacionado con el servicio Document, que brinda métodos genéricos para manipular documentos de LibreOffice, incluidos los de Base. De ahí que el servicio Base amplíe Document y ofrezca métodos adicionales específicos para los documentos de Base, permitiendo a los usuarios:

Servicio ScriptForge.Basic

El servicio ScriptForge.Basic ofrece una colección de métodos de LibreOffice BASIC que ejecutar en un contexto Python. Los métodos del servicio Basic reproducen con exactitud la sintaxis y el comportamiento de las funciones incorporadas de BASIC.

SFDocuments.Calc service

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

The SFDocuments.Calc service is a subclass of the SFDocuments.Document service. All methods and properties defined for the Document service can also be accessed using a Calc service instance.

The Calc service is focused on:

Servicio SFDocuments.Chart

The Chart service provides a set of properties and methods to handle charts in Calc documents. With this service it is possible to:

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

Servicio SFDocuments.Document

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:

Servicio ScriptForge.Exception

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.

Servicio ScriptForge.FileSystem

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:

Servicio ScriptForge.L10N

Este servicio proporciona una serie de métodos relacionados con la traducción de cadenas con un impacto mínimo en el código fuente del programa. Los métodos proporcionados por el servicio L10N pueden utilizarse principalmente para:

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:

Servicio ScriptForge.Platform

El servicio Platform ofrece una colección de propiedades sobre el entorno y el contexto de ejecución actuales, tales como:

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:

Servicio ScriptForge.Services

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.

Servicio ScriptForge.Session

El servicio Session reúne varios métodos de uso general relativos a:

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

El servicio Timer mide el intervalo de tiempo necesario para ejecutar secuencias de órdenes de usuario.

A Timer measures durations. It can be:

Servicio ScriptForge.UI

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.

Nota: los otros módulos de ScriptForge que no se describen aquí están reservados para uso interno. Su contenido está sujeto a cambios sin previo aviso.

warning

Todas las rutinas o identificadores BASIC de ScriptForge precedidas por guion bajo «_» están reservadas para uso interno. No deben utilizarse en macros BASIC o secuencias Python.


¡Necesitamos su ayuda!