Storitev ScriptForge.Session

Storitev Session obsega različne splošne metode glede:

Priklic storitve


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

Ta storitev je v celoti podprta v jezikih Basic in Python. Vsi primeri so zapisani v programskem jeziku Basic in jih lahko enostavno pretvorite v Python.


Konstante

Sledi seznam konstant, ki so na voljo za poenostavitev označevanja knjižnice, ki vsebuje skript v jeziku Basic ali Python, ki ga želite priklicati.
Uporabite jih kot session.CONSTANT.

CONSTANT

Vrednost

Kje najdete knjižnico?

Uporabno

SCRIPTISEMBEDDED

"document"

v dokumentu

Basic + Python

SCRIPTISAPPLICATION

"application"

v poljubni knjižnici v skupni rabi,

Basic

SCRIPTISPERSONAL

"user"

v Mojih makrih,

Python

SCRIPTISPERSOXT

"user:uno_packages"

v razširitvi, nameščeni za trenutnega uporabnika,

Python

SCRIPTISSHARED

"share"

med makri LibreOffice,

Python

SCRIPTISSHAROXT

"share:uno_packages"

v razširitvi, nameščeni za vse uporabnike,

Python

SCRIPTISOXT

"uno_packages"

v razširitvi, katere namestitveni parametri niso znani.

Python


Seznam metod v storitvi seje

ExecuteBasicScript
ExecuteCalcFunction
ExecutePythonScript
HasUnoMethod

HasUnoProperty
OpenURLInBrowser
RunApplication
SendMail

UnoMethods
UnoProperties
UnoObjectType
WebService


tip

Storitev Session se vede na sledeč način:
argumenti so podani z vrednostjo. Posodobitve, ki jih izvede klicana funkcija, niso vrnjene skriptu, ki kliče funkcijo.
Klicnemu skiptu je vrnjena enojna vrednost ali polje vrednosti.


ExecuteBasicScript

Izvede skript Basic s podanim mestom in imenom ter prejme rezultat, če obstaja.

Če skripta ni mogoče najti ali ne vrne ničesar, je vrnjena vrednost Empty.

Skladnja:


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

Parametri:

Scope: "document" (dokument) ali "application" (program) ali ena od možnih konstant session.CONSTANTS.

Script: "library.module.method" kot niz, ki razlikuje med velikimi in malimi črkami.
Knjižnica se po potrebi naloži v pomnilnik.
Module ne sme biti razredni modul.
Metoda je lahko Sub (podprogram) ali Function (funkcija).

arg0, ...: podani argumenti za klicani skript.

Primer:


      session.ExecuteBasicScript(, "XrayTool._Main.Xray", CreateUnoService("com.sun.star.util.TextSearch"))
      ' Xray ne vrne vrednosti
   

ExecuteCalcFunction

Izvede funkcijo Calc z njenim angleškim imenom in s podanimi argumenti.
Če so argumenti polja, se funkcija izvede kot formula za polja.

Skladnja:


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

Parametri:

CalcFunction: angleško ime funkcije, ki naj bo izvedena.

arg0, ...: argumenti za klicano funkcijo Calc. Vsak argument mora biti niz, številska vrednost ali polje kombinacije le-teh.

Primer:


      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)
      ' Povzroči napako.
   

ExecutePythonScript

Izvede skript Python s podanim mestom in imenom ter prejme rezultat, če obstaja. Rezultat je lahko posamezna vrednost ali polje vrednosti.

Če skripta ni mogoče najti ali ne vrne ničesar, je vrnjena vrednost Empty.

Ogrodje skriptov vmesnika programiranja LibreOffice API (angl. Application Programming Interface) podpira izvajanje skriptov med Pythonom in Basicom ter drugimi podprtimi programskimi jeziki. Argumente lahko podajate skozi klice, če gre za primitivne vrste podatkov, ki jih prepoznata oba jezika, in če jih ogrodje API ustrezno pretvori.

Skladnja:


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

Parametri:

Scope: ena od možnih konstant session.CONSTANTS. Privzeto = session.SCRIPTISSHARED.

Script: "library/module.py$method", "module.py$method" ali "myExtension.oxt|myScript|module.py$method" kot niz, razlikuje med velikimi in malimi črkami.

arg0, ...: podani argumenti za klicani skript.

Primer:


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

HasUnoMethod

Vrne True, če UNO-predmet vsebuje dano metodo. Vrne False, če metode ni mogoče najti ali ko argument ni veljaven.

Skladnja:


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

Parametri:

UnoObject: predmet za proučevanje.

MethodName: ime metode, razlikuje med velikimi in malimi črkami.

Primer:


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

HasUnoProperty

Vrne True, če ima UNO-predmet dano lastnost. Vrne False, če lastnosti ni mogoče najte ali če argument ni veljaven.

Skladnja:


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

Parametri:

UnoObject: predmet za proučevanje.

PropertyName: ime lastnosti, razlikuje med velikimi in malimi črkami.

Primer:


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

OpenURLInBrowser

Odpre naslov URL (angl. Uniform Resource Locator) v privzetem brskalniku.

Skladnja:


      session.OpenURLInBrowser(URL As String)
   

Parametri:

URL: URL, ki ga želite odpreti.

Primer:


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

RunApplication

Izvede arbitrarni sistemski ukaz in vrne True , če se je uspešno zagnal.

Skladnja:


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

Parametri:

Command: ukaz, ki ga želite izvesti. To je lahko izvršna datoteka ali dokument, registriran s programom, tako da sistem ve, kateri program naj zažene za tovrstni dokument. Ukaz mora biti izražen v trenutni notaciji SF_FileSystem.FileNaming.

Parameters: seznam parametrov, ločenih s presledki, podanih kot en sam niz. Metoda ne preveri veljavnosti podanih parametrov, temveč ji le posreduje navedenemu ukazu.

Primer:


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

SendMail

Pošlje sporočilo – z neobveznimi priponkami – prejemnikom iz e-poštnega odjemalca uporabnika. Sporočilo lahko uporabnik pred pošiljanjem uredi ali pa je poslano neposredno.

Skladnja:


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

Parametri:

Recipient: e-poštni naslov prejemnika (v polju »Za«).

Cc: z vejico ločen seznam e-poštnih naslovov prejemnikov (v polju »Kp«, kopija).

Bcc: z vejico ločen seznam e-poštnih naslovov prejemnikov (v polju »Skp«, skrita kopija).

Subject: glava sporočila oz. zadeva.

Body: vsebina sporočila kot neoblikovano besedilo.

FileNames: z vejicami ločen seznam imen datotek. Vsako ime datoteke mora slediti notacijiSF_FileSystem.FileNaming.

EditMessage: če je True (ptivzeta vrednost), lahko sporočilo pred pošiljanjem urejate.

Primer:


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

UnoMethods

Vrne seznam metod, ki jih je mogoče klicati iz predmeta UNO. Seznam je ničelno polje nizov in je lahko prazno.

Skladnja:


      session.UnoMethods(UnoObject As Object) As Variant
   

Parametri:

UnoObject: predmet za proučevanje.

Primer:


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

UnoProperties

Vrne seznam lastnosti predmeta UNO. Seznam je ničelno polje nizov in je lahko prazno.

Skladnja:


      session.UnoProperties(UnoObject As Object) As Variant
   

Parametri:

UnoObject: predmet za proučevanje.

Primer:


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

UnoObjectType

Identificira vrsto predmeta UNO kot niz.

Skladnja:


      session.UnoObjectType(UnoObject As Object) As String
   

Parametri:

UnoObject: predmet, ki ga je potrebno identificirati.

Primer:


      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

Pridobi spletno vsebino z naslova URI.

Skladnja:


      session.WebService(URI As String) As String
   

Parametri:

URI: besedilo URI spletne storitve.

Primer:


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

Vsi podprogrami ali identifikatorji ScriptForge Basic s predpono podčrtaja (»_«) so rezervirani za interno uporabo. Uporabi v makrih Basic niso namenjeni.


Podprite nas!