Ayuda de Collabora Office 24.04
El propósito principal del módulo Servicios es proporcionar acceso al método CreateScriptService, que puede ser llamado en los scripts de usuario para instanciar los servicios que se implementan utilizando el marco ScriptForge.
En la terminología de ScriptForge, un servicio es una colección de métodos y propiedades que pueden ser utilizados para un propósito común. Por ejemplo, el servicio Cadena proporciona métodos para manipular cadenas mientras que el servicio Sistema de Archivos permite la manipulación de archivos y carpetas.
El módulo Servicios de la biblioteca de ScriptForge proporciona métodos adicionales que se utilizan internamente para registrar los servicios disponibles o por los desarrolladores que están interesados en ampliar ScriptForge creando nuevos servicios. El único método que es relevante para los scripts de usuario es CreateScriptService.
Este método se utiliza para instanciar un servicio de ScriptForge para que pueda ser llamado en los scripts del usuario.
El valor devuelto es un objeto Basic o Nada si se produjo un error.
svc.CreateScriptService(service: str, [arg0: any] ...): svc
servicio: el nombre del servicio identificado como una cadena con el formato «biblioteca.servicio»:
La biblioteca es una biblioteca de BASIC que debe existir en GlobalScope. El valor predeterminado es «ScriptForge».
El servicio es uno de los servicios registrados por la biblioteca ScriptForge.
arg0, ...: Una lista de argumentos requeridos por el servicio invocado.
Si el primer argumento se refiere a un gestor de eventos, entonces arg0 es obligatorio y debe ser el objeto UNO que representa el evento proporcionado como argumento a la macro de usuario.
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
' Para hacerse una vez
Dim svc As Object
Set svc = CreateScriptService("Array")
' Hace referencia al servicio «ScriptForge.Array» o SF_Array
Set svc = CreateScriptService("ScriptForge.Dictionary")
' Devuelve una instancia de clase de diccionario vacía nueva; «ScriptForge.» es opcional
Set svc = CreateScriptService("SFDocuments.Calc")
' Hace referencia al servicio Calc, implementado en la biblioteca asociada SFDocuments
Set svc = CreateScriptService("Timer", True)
' Devuelve una instancia de la clase Timer que comienza inmediatamente
Set svc = CreateScriptService("SFDocuments.DocumentEvent", oEvent)
' Se refiere al servicio DocumentEvent que existe en la biblioteca SFDocuments asociada
' Devuelve la ocurrencia de la clase Document que desencadenó el evento
from scriptforge import CreateScriptService
svc = CreateScriptService("Array")
svc = CreateScriptService("ScriptForge.Dictionary")
svc = CreateScriptService("SFDocuments.Calc")
svc = CreateScriptService("Timer", True)
svc = CreateScriptService("SFDocuments.DocumentEvent", oEvent)
Python scripts support keyword arguments when calling CreateScriptService. The following example illustrates this concept by instantiating the Timer and Document services using keyword arguments.
from scriptforge import CreateScriptService
# Timer
my_timer = CreateScriptService("Timer", start = True)
# Document
my_doc = CreateScriptService("Document", windowname = "some_file.ods")
To make writing Python scripts more fluid, ScriptForge provides the Basic service which allows Python scripts to call a collection of methods with the same syntax and meaning as their homonymous native Basic functions.
The following example instantiates the Basic service and calls the MsgBox method, which is equivalent to the MsgBox function available in Basic:
from scriptforge import CreateScriptService
bas = CreateScriptService("Basic")
bas.MsgBox("Hello World!")
Be aware that the Basic service has to be instantiated in Python scripts using the CreateScriptService method.