Tulong sa LibreOffice 25.8
Ang Sesyon ang serbisyo ay nagtitipon ng iba't ibang pangkalahatang layunin na pamamaraan tungkol sa:
ang kapaligiran sa pag-install o pagpapatupad
UNO introspection
ang panawagan ng mga panlabas na script o programa
Bago gamitin ang Sesyon serbisyo ang ScriptForge kailangang i-load o i-import ang library:
    GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
    Dim session As Variant
    session = CreateScriptService("Session")
  
    from scriptforge import CreateScriptService
    session = CreateScriptService("Session")
  Nasa ibaba ang isang listahan ng mga constant na magagamit upang mapagaan ang pagtatalaga ng library na naglalaman ng isang Basic o Python script na i-invoke. Gamitin ang mga ito bilang sesyon.NAGTAGA .
| CONSTANT | Halaga | Saan mahahanap ang library? | Naaangkop | 
|---|---|---|---|
| SCRIPTISEMBEDDED | "document" | sa dokumento | Basic + Python | 
| SCRIPTISAPPLICATION | "application" | sa anumang nakabahaging aklatan | Basic | 
| SCRIPTISPERSONAL | "user" | sa Aking Macros | Python | 
| SCRIPTISPERSOXT | "user:uno_packages" | sa isang extension na naka-install para sa kasalukuyang user | Python | 
| SCRIPTISSHARED | "share" | sa Mga Macro ng Application | Python | 
| SCRIPTISSHAROXT | "share:uno_packages" | sa isang extension na naka-install para sa lahat ng user | Python | 
| SCRIPTISOXT | "uno_packages" | sa isang extension ngunit hindi alam ang mga parameter ng pag-install | Python | 
| Listahan ng Mga Paraan sa Serbisyo ng Session | ||
|---|---|---|
| 
             ExecuteBasicScript | 
             HasUnoProperty | |
Isagawa... mga pamamaraan sa Sesyon kumilos ang serbisyo tulad ng sumusunod:
 Ang mga argumento ay ipinapasa sa pamamagitan ng halaga. Ang mga pagbabagong ginawa ng tinatawag na function sa mga argumento ay hindi nag-a-update ng kanilang mga halaga sa script ng pagtawag.
 Ang isang solong halaga o isang hanay ng mga halaga ay ibinalik sa script ng pagtawag.
Ipatupad ang BASIC script na ibinigay sa pangalan at lokasyon nito, at kunin ang resulta nito, kung mayroon man.
Kung ang script ay walang ibinalik, na kung saan ay ang kaso ng mga pamamaraan na tinukoy sa Sub , ang ibinalik na halaga ay Walang laman .
session.ExecuteBasicScript(scope: str, script: str, args: any[0..*]): any
saklaw : String na tumutukoy kung saan naka-imbak ang script. Maaari itong alinman sa "dokumento" (constant session.SCRIPTISEMBEDDED ) o "application" (constant session.SCRIPTISAPPLICATION ).
script : String na tumutukoy sa script na tatawagin sa format na "library.module.method" bilang isang case-sensitive na string.
Ang aklatan ay na-load sa memorya kung kinakailangan.
Ang module ay hindi dapat isang class module.
Ang pamamaraan ay maaaring a Sub o a Function .
args : Ang mga argumentong ipapasa sa tinatawag na script.
Isaalang-alang ang sumusunod na Pangunahing function na pinangalanan DummyFunction na nakaimbak sa "My Macros" sa "Standard" na library sa loob ng isang module na pinangalanang "Module1".
Ang function ay kumukuha lamang ng dalawang integer na halaga v1 at v2 at ibalik ang kabuuan ng lahat ng mga halaga simula sa v1 at nagtatapos sa v2 .
    Function DummyFunction(v1 as Integer, v2 as Integer) As Long
        Dim result as Long, i as Integer
        For i = v1 To v2
            result = result + i
        Next i
        DummyFunction = result
    End Function
  Ipinapakita ng mga halimbawa sa ibaba kung paano tumawag DummyFunction mula sa loob ng Basic at Python script.
    Dim session : session = CreateScriptService("Session")
    Dim b_script as String, result as Long
    b_script = "Standard.Module1.DummyFunction"
    result = session.ExecuteBasicScript("application", b_script, 1, 10)
    MsgBox result ' 55
  
    session = CreateScriptService("Session")
    bas = CreateScriptService("Basic")
    b_script = 'Standard.Module1.DummyFunction'
    result = session.ExecuteBasicScript('application', b_script, 1, 10)
    bas.MsgBox(result) # 55
  Magsagawa ng Calc function gamit ang English na pangalan nito at batay sa mga ibinigay na argumento.
 Kung ang mga argumento ay mga arrays, ang function ay ipapatupad bilang isang array formula .
session.ExecuteCalcFunction(calcfunction: str, args: any[0..*]): any
calcfunction : Ang pangalan ng Calc function na tatawagin, sa English.
args : Ang mga argumentong ipapasa sa tinatawag na Calc function. Ang bawat argument ay dapat na alinman sa isang string, isang numeric na halaga o isang hanay ng mga array na pinagsasama-sama ang mga uri na iyon.
    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)
    ' Bumubuo ng error.
  
    session.ExecuteCalcFunction("AVERAGE", 1, 5, 3, 7) # 4
    session.ExecuteCalcFunction("ABS", ((-1, 2, 3), (4, -5, 6), (7, 8, -9)))[2][2] # 9
    session.ExecuteCalcFunction("LN", -3)
  Ipatupad ang script ng Python na ibinigay sa lokasyon at pangalan nito, kunin ang resulta nito kung mayroon man. Ang resulta ay maaaring iisang value o array ng mga value.
Kung ang script ay hindi natagpuan, o kung wala itong ibinalik, ang ibinalik na halaga ay Walang laman .
session.ExecutePythonScript(scope: str, script: str, args: any[0..*]): any
saklaw : Isa sa mga naaangkop na constant na nakalista sa itaas . Ang default na halaga ay session.SCRIPTISSHARED .
script : Alinman sa "library/module.py$method" o "module.py$method" o "myExtension.oxt|myScript|module.py$method" bilang isang case-sensitive na string.
library: Ang path ng folder sa Python module.
myScript: Ang folder na naglalaman ng Python module.
module.py: Ang Python module.
paraan: Ang Python function.
args : Ang mga argumentong ipapasa sa tinatawag na script.
Isaalang-alang ang Python function odd_integers tinukoy sa ibaba na lumilikha ng isang listahan na may kakaibang mga halaga ng integer sa pagitan v1 at v2 . Ipagpalagay na ang function na ito ay naka-imbak sa isang file na pinangalanan my_macros.py sa iyong folder ng mga script ng gumagamit.
    def odd_integers(v1, v2):
        odd_list = [v for v in range(v1, v2 + 1) if v % 2 != 0]
        return odd_list
  Basahin ang pahina ng tulong Organisasyon at Lokasyon ng Python Scripts upang matuto nang higit pa tungkol sa kung saan maaaring iimbak ang mga script ng Python.
Ang mga sumusunod na halimbawa ay nagpapakita kung paano tawagan ang function odd_integers mula sa loob ng Basic at Python script.
    Dim script as String, session as Object
    script = "my_macros.py$odd_integers"
    session = CreateScriptService("Session")
    Dim result as Variant
    result = session.ExecutePythonScript(session.SCRIPTISPERSONAL, script, 1, 9)
    MsgBox SF_String.Represent(result)
  
    session = CreateScriptService("Session")
    script = "my_macros.py$odd_integers"
    result = session.ExecutePythonScript(session.SCRIPTISPERSONAL, script, 1, 9)
    bas.MsgBox(repr(result))
  Ibinabalik ang kasalukuyang mga setting ng pag-export ng PDF na tinukoy sa dialog, na maaaring ma-access sa pamamagitan ng pagpili .
Itinakda ang mga opsyon sa pag-export gamit ang ang dialog ay pinananatili para magamit sa hinaharap. Kaya naman GetPDFExportOptions ibinabalik ang mga setting na kasalukuyang tinukoy. Bilang karagdagan, gamitin SetPDFExportOptions upang baguhin ang kasalukuyang mga opsyon sa pag-export ng PDF.
Ang pamamaraang ito ay nagbabalik ng a Diksyunaryo object kung saan ang bawat key ay kumakatawan sa mga opsyon sa pag-export at ang mga katumbas na halaga ay ang kasalukuyang mga setting ng pag-export ng PDF.
Basahin ang Pahina ng wiki ng PDF Export para matuto pa tungkol sa lahat ng available na opsyon.
session.GetPDFExportOptions(): obj
    Dim expSettings As Object, msg As String, key As String, optLabels As Variant
    expSettings = session.GetPDFExportOptions()
    optLabels = expSettings.Keys
    For Each key in optLabels
        msg = msg + key & ": " & expSettings.Item(key) & Chr(10)
    Next key
    MsgBox msg
    ' Zoom: 100
    ' Changes: 4
    ' Quality: 90
    ' ...
  Nagbabalik totoo kung ang isang UNO object ay naglalaman ng ibinigay na pamamaraan. Nagbabalik Mali kapag ang pamamaraan ay hindi natagpuan o kapag ang isang argumento ay hindi wasto.
session.HasUnoMethod(unoobject: uno, methodname: str): bool
unoobject : Ang bagay na susuriin.
pangalan ng pamamaraan : ang paraan bilang isang case-sensitive na string
    Dim a As Variant
    a = CreateUnoService("com.sun.star.sheet.FunctionAccess")
    MsgBox session.HasUnoMethod(a, "callFunction") ' True
  
    bas = CreateScriptService("Basic")
    a = bas.CreateUnoService("com.sun.star.sheet.FunctionAccess")
    result = session.HasUnoMethod(a, "callFunction")
    bas.MsgBox(result) # True
  Nagbabalik totoo kung ang isang bagay ng UNO ay may ibinigay na pag-aari. Nagbabalik Mali kapag ang ari-arian ay hindi natagpuan o kapag ang isang argumento ay hindi wasto.
session.HasUnoProperty(unoobject: uno, propertyname: str): bool
unoobject : Ang bagay na susuriin.
propertyname : ang property bilang isang case-sensitive na string
    Dim svc As Variant
    svc = CreateUnoService("com.sun.star.sheet.FunctionAccess")
    MsgBox session.HasUnoProperty(svc, "Wildcards")
  
    bas = CreateScriptService("Basic")
    a = bas.CreateUnoService("com.sun.star.sheet.FunctionAccess")
    result = session.HasUnoProperty(a, "Wildcards")
    bas.MsgBox(result) # True
  Magbukas ng Uniform Resource Locator ( URL ) sa default na browser.
session.OpenURLInBrowser(url: str)
url : Ang URL na bubuksan.
    ' Basic
    session.OpenURLInBrowser("help.libreoffice.org/")
  
    # Python
    session.OpenURLInBrowser("help.libreoffice.org/")
  Nagsasagawa ng arbitrary system command at nagbabalik totoo kung ito ay matagumpay na nailunsad.
session.RunApplication(command: str, parameters: str): bool
command: Ang utos na isagawa. Ito ay maaaring isang executable file o isang dokumento na nakarehistro sa isang application upang malaman ng system kung anong application ang ilulunsad para sa dokumentong iyon. Ang pamamaraang ito ay pantay na nagsisimula sa .bat o shell script. Ang command ay dapat na ipahayag sa kasalukuyang SF_FileSystem.FileNaming notation.
mga parameter : Isang listahan ng mga parameter na pinaghihiwalay ng espasyo bilang isang string. Ang pamamaraan ay hindi nagpapatunay sa ibinigay na mga parameter, ngunit ipinapasa lamang ang mga ito sa tinukoy na utos.
    session.RunApplication("Notepad.exe")
    session.RunApplication("C:\\myFolder\\myDocument.odt")
    session.RunApplication("kate", "/home/user/install.txt") ' GNU/Linux
  
    session.RunApplication("Notepad.exe")
    session.RunApplication(r"C:\\myFolder\\myDocument.odt")
    session.RunApplication("kate", "/home/user/install.txt") # GNU/Linux
  Magpadala ng mensahe - na may mga opsyonal na attachment - sa mga tatanggap mula sa mail client ng user. Ang mensahe ay maaaring i-edit ng user bago ipadala o, bilang kahalili, ipadala kaagad.
session.SendMail(recipient: str, cc: str = '', bcc: str = '', subject: str = '', body: str = '', filenames: str = '', editmessage: bool = True)
tatanggap : Isang email address (ang tatanggap ng "Kay").
cc : Isang listahan ng mga email address na pinaghihiwalay ng kuwit (ang mga tatanggap ng "carbon copy").
bcc : Isang listahan ng mga email address na pinaghihiwalay ng kuwit (ang mga tatanggap ng "blind carbon copy").
paksa : ang header ng mensahe.
katawan : Ang mga nilalaman ng mensahe bilang isang hindi na-format na teksto.
mga filename : isang listahan ng mga pangalan ng file na pinaghihiwalay ng kuwit. Dapat igalang ng bawat pangalan ng file ang SF_FileSystem.FileNaming notasyon.
edit message : Kailan totoo (default), ang mensahe ay na-edit bago ipadala.
    session.SendMail("someone@example.com" _
        , Cc := "b@other.fr, c@other.be" _
        , FileNames := "C:\myFile1.txt, C:\myFile2.txt")
  
    session.SendMail("someone@example.com",
                     cc="john@other.fr, mary@other.be"
                     filenames=r"C:\myFile1.txt, C:\myFile2.txt")
  Binabago ang mga setting ng pag-export ng PDF na tinukoy sa dialog, na maaaring ma-access sa pamamagitan ng pagpili .
Ang pagtawag sa paraang ito ay nagbabago sa aktwal na mga halaga na itinakda sa dialog, na ginagamit ng ExportAsPDF pamamaraan mula sa Dokumento serbisyo.
Nagbabalik ang pamamaraang ito totoo kapag matagumpay.
Basahin ang Pahina ng wiki ng PDF Export para matuto pa tungkol sa lahat ng available na opsyon.
session.SetPDFExportOptions(pdfoptions: obj): bool
pdfoptions : Diksyunaryo bagay na tumutukoy sa mga setting ng pag-export ng PDF na babaguhin. Ang bawat key-value pair ay kumakatawan sa isang opsyon sa pag-export at ang value na itatakda sa dialog.
Binago ng sumusunod na halimbawa ang maximum na resolution ng imahe sa 150 dpi at ine-export ang kasalukuyang dokumento bilang isang PDF file.
    Dim newSettings As Object, oDoc As Object
    Set oDoc = CreateScriptService("Document")
    Set newSettings = CreateScriptService("Dictionary")
    newSettings.Add("ReduceImageResolution", True)
    newSettings.Add("MaxImageResolution", 150)
    session.SetPDFExportOptions(newSettings)
    oDoc.ExportAsPDF("C:\Documents\myFile.pdf", Overwrite := True)
  Nagbabalik ng listahan ng mga pamamaraan na matatawag mula sa isang bagay na UNO. Ang listahan ay isang zero-based na hanay ng mga string at maaaring walang laman.
session.UnoMethods(unoobject: uno): str[0..*]
unoobject : Ang bagay na susuriin.
    Dim svc : svc = CreateUnoService("com.sun.star.sheet.FunctionAccess")
    Dim methods : methods = session.UnoMethods(svc)
    Dim msg as String
    For Each m in methods
        msg = msg & m & Chr(13)
    Next m
    MsgBox msg
  
    bas = CreateScriptService("Basic")
    a = bas.CreateUnoService("com.sun.star.sheet.FunctionAccess")
    methods = session.UnoMethods(a)
    msg = "\n".join(methods)
    bas.MsgBox(msg)
  Nagbabalik ng listahan ng mga katangian ng isang bagay na UNO. Ang listahan ay isang zero-based na hanay ng mga string at maaaring walang laman.
session.UnoProperties(unoobject: uno): str[0..*]
unoobject : Ang bagay na susuriin.
    Dim svc As Variant
    svc = CreateUnoService("com.sun.star.sheet.FunctionAccess")
    MsgBox SF_Array.Contains(session.UnoProperties(svc), "Wildcards") ' True
  
    bas = CreateScriptService("Basic")
    svc = bas.CreateUnoService("com.sun.star.sheet.FunctionAccess")
    properties = session.UnoProperties(a)
    b = "Wildcards" in properties
    bas.MsgBox(str(b)) # True
  Kilalanin ang uri ng bagay ng UNO bilang isang string.
session.UnoObjectType(unoobject: uno): str
unoobject : Ang bagay na makikilala.
    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"
  
    bas = CreateScriptService("Basic")
    svc = bas.CreateUnoService("com.sun.star.system.SystemShellExecute")
    txt = session.UnoObjectType(svc) # "com.sun.star.comp.system.SystemShellExecute"
    svc = bas.CreateUnoService("com.sun.star.beans.Property")
    txt = session.UnoObjectType(svc) # "com.sun.star.beans.Property"
  Kumuha ng ilang nilalaman sa web mula sa isang URI.
session.WebService(uri: str): str
uri : URI address ng serbisyo sa web.
    session.WebService("wiki.documentfoundation.org/api.php?" _
        & "hidebots=1&days=7&limit=50&action=feedrecentchanges&feedformat=rss")
  
    session.WebService(("wiki.documentfoundation.org/api.php?" 
                       "hidebots=1&days=7&limit=50&action=feedrecentchanges&feedformat=rss"))