LibreOffice 24.2 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.