Collabora Office 24.04 Hjelp
Hovedformålet med modulen Tjenester er å gi tilgang til metoden CreateScriptService, som kan kalles inn brukerskript for å instansiere tjenester som er implementert ved hjelp av ScriptForge-rammeverket.
I ScriptForge-terminologi er en tjeneste en samling metoder og egenskaper som kan brukes til et felles formål. For eksempel gir Streng-tjenesten metoder for å manipulere strenger, mens FileSystem-tjenesten tillater manipulering av filer og mapper.
Modulen Tjenester i ScriptForge-biblioteket gir tilleggsmetoder som brukes enten internt for å registrere tilgjengelige tjenester eller av utviklere som er interessert i å utvide ScriptForge ved å lage nye tjenester. Den eneste metoden som er relevant for brukerskript er CreateScriptService.
Denne metoden brukes til å instansiere en ScriptForge-tjeneste slik at den kan kalles opp i brukerskript.
Den returnerte verdien er et Basic-objekt eller Ingenting hvis det oppstod en feil.
svc.CreateScriptService(service: str, [arg0: any] ...): svc
tjeneste: Navnet på tjenesten identifisert som en streng i formatet "library.service":
biblioteket er et grunnleggende bibliotek som må eksistere i GlobalScope. Standardverdien er "ScriptForge".
tjenesten er en av tjenestene som er registrert av ScriptForge-biblioteket.
arg0, ...: En liste over argumenter som kreves av den påkalte tjenesten.
Hvis det første argumentet refererer til en hendelsesbehandler, er arg0 obligatorisk og må være UNO-objektet som representerer hendelsen som er gitt som argument til brukermakroen.
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
' Skal gjøres en gang
Dim svc As Object
Set svc = CreateScriptService("Array")
' Refererer til "ScriptForge.Array"-tjenesten eller SF_Array
Set svc = CreateScriptService("ScriptForge.Dictionary")
' Returnerer en ny tom ordbokklasseforekomst; "ScriptForge." er valgfritt
Set svc = CreateScriptService("SFDocuments.Calc")
' Refererer til Calc-tjenesten, implementert i det tilknyttede SFDocuments-biblioteket
Set svc = CreateScriptService("Timer", True)
' Returnerer en Timer-klasseforekomst som starter umiddelbart
Set svc = CreateScriptService("SFDocuments.DocumentEvent", oEvent)
' Refererer til DocumentEvent-tjenesten implementert i det tilknyttede SFDocuments-biblioteket
' Returnerer forekomsten av Document-klassen som utløste hendelsen
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-skript støtter søkeordargumenter når du kaller CreateScriptService. Følgende eksempel illustrerer dette konseptet ved å instansiere Timer og Dokument-tjenestene ved å bruke søkeordargumenter.
from scriptforge import CreateScriptService
# Timer
my_timer = CreateScriptService("Timer", start = True)
# Document
my_doc = CreateScriptService("Document", windowname = "some_file.ods")
For å gjøre skriving av Python-skript mer flytende, tilbyr ScriptForge Basic-tjenesten som lar Python-skript kalle en samling metoder med samme syntaks og betydning som deres homonyme opprinnelige Basic-funksjoner.
Følgende eksempel instansierer Basic-tjenesten og kaller opp MsgBox-metoden, som tilsvarer MsgBox-funksjonen som er tilgjengelig i Basic:
from scriptforge import CreateScriptService
bas = CreateScriptService("Basic")
bas.MsgBox("Hello World!")
Vær oppmerksom på at Basic-tjenesten må instansieres i Python-skript ved å bruke CreateScriptService-metoden.