Tjenesten ScriptForge.Session

Tjenesten Session samler forskellige generelle metoder:

Kald af tjeneste


     GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
     Dim session As Variant
     session = CreateScriptService("Session")
    
note

This service is fully supported in both Basic and Python languages. All examples are expressed using the Basic programming language and can be easily converted to Python.


Konstanter

Herunder er der en liste over konstanter til at lette udpegningen af biblioteket, der indeholder et Basic- eller Python-skript, der skal kaldes.
Brug som som session.CONSTANT.

CONSTANT

Værdi

Hvor findes biblioteket?

Anvendelig

SCRIPTISEMBEDDED

"document"

i dokumentet

Basic + Python

SCRIPTISAPPLICATION

"application"

i ethvert delt bibliotek

Basic

SCRIPTISPERSONAL

"user"

i Mine makroer

Python

SCRIPTISPERSOXT

"user:uno_packages"

i en udvidelse, der installeret til den aktuelle bruger

Python

SCRIPTISSHARED

"share"

i LibreOffice-makroer

Python

SCRIPTISSHAROXT

"share:uno_packages"

i en udvidelse, der er installeret til alle brugere

Python

SCRIPTISOXT

"uno_packages"

i en udvidelse, selv om installationsparametrene er ukendte

Python


Tjenesten List of Methods in the Session (Liste over metoder i sessionen)

ExecuteBasicScript
ExecuteCalcFunction
ExecutePythonScript
HasUnoMethod

HasUnoProperty
OpenURLInBrowser
RunApplication
SendMail

UnoMethods
UnoProperties
UnoObjectType
WebService


tip

Tjenesten Sessions (Sessions) metoder har denne adfærd:
Argumenter videregives efter værdi. Opdateringer, udført af den kaldte funktion, sendes ikke tilbage til det kaldende script.
En enkelt værdi eller et matrix af værdier returneres til det kaldende script.


ExecuteBasicScript

Udfør Basic-skriptet givet dets navn og placering og hent dets resultat, hvis der er noget.

Hvis scriptet ikke bliver fundet, eller hvis det intet returnerer, er den returnerede værdi Empty (tom).

Syntaks:


      session.ExecuteBasicScript([Scope As String], Script As String[, arg0 As Variant, ...]) As Variant
   

Parametre:

Scope (Rækkevidde): "document" (dokument) eller "application" (program) eller en af de anvendelige session.CONSTANTS (session.KONSTANTER).

Script: "bibliotek.modul.metode" som en streng med både Stort og småt.
Biblioteket hentes ind i hukommelsen, om nødvendigt.
Modulet må ikke være et klassemodul.
Metoden kan være en Sub (delfunktion) eller en Function (funktion).

arg0, ...: Argumenter, der skal gives til det kaldte script.

Eksempel:


      session.ExecuteBasicScript(, "XrayTool._Main.Xray", CreateUnoService("com.sun.star.util.TextSearch"))
      ' Xray returnerer ingen værdi
   

ExecuteCalcFunction

Udfør en Calc-funktion med dens engelske navn og baseret på de givne argumenter.
Hvis argumenterne er matrixer, udføres funktionen som en array formula (matrixformel).

Syntaks:


      session.ExecuteCalcFunction(CalcFunction As String, arg0, ...) As Variant
   

Parametre:

CalcFunction (Calc-funktion): Det engelske navn på funktionen, der skal udføres.

arg0, ...: De argumenter, der skal gives til Calc-funktionen. Hvert argument skal være enten en streng, en numerisk værdi eller en matrix af matrixer, der kombinerer disse typer.

Eksempel:


      session.ExecuteCalcFunction("AVERAGE", 1, 5, 3, 7) ' 4
      session.ExecuteCalcFunction("ABS", Array(Array(-1,2,3),Array(4,-5,6),Array(7,8,-9)))(2)(2) ' 9
      session.ExecuteCalcFunction("LN", -3)
      ' Genererer en fejl.
   

ExecutePythonScript

Udfør Python-scriptet givet dets placering og navn, hent dets resultat, om noget. Resultatet kan være en enkelt værdi eller et matrix af værdier.

Hvis scriptet ikke bliver fundet, eller hvis det intet returnerer, er den returnerede værdi Empty (tom).

LibreOffice Application Programming Interface (API)s rammer for scripts understøtter mellemsproglig udførelse af scripts mellem Python og Basic, eller for den sags skyld med andre understøttede programmeringssprog. Argumenter kan videregives frem og tilbage på tværs af kald, forudsat at de repræsenterer primitive datatyper, som begge sprog genkender, og under den antagelse af scripting-rammerne konverterer dem på passende måde.

Syntaks:


      session.ExecutePythonScript([Scope] As String, Script As String[, arg0 As Variant, ...]) As Variant
   

Parametre:

Scope (Rækkevidde): En af de anvendelige session.CONSTANTS (session.KONSTANTER). Standard = session.SCRIPTISSHARED (sesseion.SCRIPT ER DELT).

Script: Enten "library/module.py$method" eller "module.py$method" eller "myExtension.oxt|myScript|module.py$method" som en streng med både Stort og småt.

arg0, ...: Argumenterne, der skal gives til til det kaldte script.

Eksempel:


      session.ExecutePythonScript(session.SCRIPTISSHARED, "Capitalise.py$getNewString", "Abc") ' "abc"
   

HasUnoMethod

Returnerer True, hvis et UNO-objekt indeholder den givne metode. Returnerer False, når metoden ikke bliver fundet eller når et argument er ugyldigt.

Syntaks:


      session.HasUnoMethod(UnoObject As Object, MethodName As String) As Boolean
   

Parametre:

UnoObject: Objektet, der skal inspiceres.

MethodName (Metodenavn): metoden som en streng med både Stort og småt

Eksempel:


      Dim a As Variant
      a = CreateUnoService("com.sun.star.sheet.FunctionAccess")
      MsgBox session.HasUnoMethod(a, "callFunction")
   

HasUnoProperty

Returnerer True (sand), hvis et UNO-objekt har en given egenskab. Returnerer False (falsk), når egenskaben ikke er fundet eller når et argument er ugyldigt.

Syntaks:


      session.HasUnoProperty(UnoObject As Object, PropertyName As String) As Boolean
   

Parametre:

UnoObject: Objektet, der skal inspiceres.

PropertyName (Egenskabsnavn): egenskaben som en streng med både Stort og småt

Eksempel:


      Dim svc As Variant
      svc = CreateUnoService("com.sun.star.sheet.FunctionAccess")
      MsgBox session.HasUnoProperty(svc, "Wildcards")
   

OpenURLInBrowser

Åbn en Uniform Resource Locator (URL) i standardbrowseren.

Syntaks:


      session.OpenURLInBrowser(URL As String)
   

Parametre:

URL: Den URL, der skal åbnes.

Eksempel:


      session.OpenURLInBrowser("https://docs.python.org/3/library/webbrowser.html")
   

RunApplication

Udfører en vilkårlig systemkommando og returnerer True (sand), hvis den blev rigtigt indledt.

Syntaks:


      session.RunApplication(Command As String, Parameters As String) As Boolean
   

Parametre:

Command: Den kommando, der skal udføres. Det kan være en fil, der kan køres, eller et dokument, som registreres med et program, så systemet ved, hvilket program, der skal åbnes til dokumentet. Kommandoen skal udtrykkes i den aktuelle SF_FileSystem.FileNaming (SF_Filsystem.Filnavngivelse)-notation.

Parameters (Parametre): En liste af parametre adskilt af mellemrum som en enkelt streng. Metoden validerer ikke de givne parametre, men videregiver dem bare til den angivne kommando.

Eksempel:


      session.RunApplication("Notepad.exe")
      session.RunApplication("C:\myFolder\myDocument.odt")
      session.RunApplication("kate", "/home/me/install.txt") ' GNU/Linux
   

SendMail

Send en besked – med valgfrie vedhæftninger – til modtagere fra brugerens mailklient. Beskeden kan være kan redigeret af brugeren før afsendelse, eller alternativt blive sendt øjeblikkeligt.

Syntaks:


      session.SendMail(Recipient As String, [Cc As String], [Bcc As String], [Subject As String], [Body As String], [FileNames As String], [EditMessage As Boolean])
   

Parametre:

Modtager: En e-mailadresse ("Til"-modtageren).

Cc: En komma-opdelt liste over e-mailadresser (modtagere af gennemslagskopi: "carbon copy").

Bcc: En komma-opdelt liste af e-mailaddresses (modtagere af skjulte gennemslagskopier: "blind carbon copy").

Subject (Emne): beskedens overskrift.

Body (Brødtekst): Beskedens indhold som udformateret tekst.

FileNames (Filnavne): en komma-opdelt liste overr filnavne. Hvert navn skal respektere notationen i SF_FileSystem.FileNaming (SF_Filsystem.Filnavngivelse).

EditMessage (rediger besked): Når True (sand) (standard), redigeres beskeden før afsendelse.

Eksempel:


      session.SendMail("a@example.com" _
          , Cc := "b@other.fr, c@other.be" _
          , FileNames := "C:\myFile1.txt, C:\myFile2.txt" _
          )
   

UnoMethods

Returnerer en liste over metoder, der kan kaldes fra et UNO-objekt. Listen er en nul-baseret matrix af strenge og kan være tom.

Syntaks:


      session.UnoMethods(UnoObject As Object) As Variant
   

Parametre:

UnoObject: Objektet, der skal inspiceres.

Eksempel:


      Dim a As Variant
      a = CreateUnoService("com.sun.star.sheet.FunctionAccess")
      MsgBox SF_Array.Contains(session.UnoMethods(a), "callFunction")
   

UnoProperties

Returnerer en liste over et UNO-objekts egenskaber. Listen er en nul-baseret matrix af strenge og kan være tom.

Syntaks:


      session.UnoProperties(UnoObject As Object) As Variant
   

Parametre:

UnoObject: Objektet, der skal inspiceres.

Eksempel:


      Dim svc As Variant
      svc = CreateUnoService("com.sun.star.sheet.FunctionAccess")
      MsgBox SF_Array.Contains(session.UnoProperties(svc), "Wildcards")
   

UnoObjectType

Identificer et UNO-objekts type som en streng.

Syntaks:


      session.UnoObjectType(UnoObject As Object) As String
   

Parametre:

UnoObject: Objektet, der skal identificeres.

Eksempel:


      Dim svc As Variant, txt As String
      svc = CreateUnoService("com.sun.star.system.SystemShellExecute")
      txt = session.UnoObjectType(svc) ' "com.sun.star.comp.system.SystemShellExecute"
      svc = CreateUnoStruct("com.sun.star.beans.Property")
      txt = session.UnoObjectType(svc) ' "com.sun.star.beans.Property"
   

WebService

Hent noget webindhold fra en URI.

Syntaks:


      session.WebService(URI As String) As String
   

Parametre:

URI: En webtjenestes URI-tekst.

Eksempel:


      session.WebService("wiki.documentfoundation.org/api.php?" _
          & "hidebots=1&days=7&limit=50&action=feedrecentchanges&feedformat=rss")
   
warning

Alle ScriptForge Basic-rutiner eller identifikatorer, som indledes med et understregningstegn "_" er reserveret til internt brug. De er ikke beregnet til brug i Basic-makroer.


Støt os venligst!