ScriptForge.Session zerbitzua

Session zerbitzuak xede orokorreko zenbait metodo biltzen ditu, honakoei lotutakoak:

Zerbitzuari deitzea


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

Zerbitzu hau erabat onartuta dago bai Basic bai Python lengoaietan. Adibide guztiak Basic programazio-lengoaian eman dira, baina erraz bihurtu daitezke Python lengoaiara.


Konstanteak

Behean, deituko den Basic edo Python script bat duen liburutegia izendatzea errazteko erabilgarri dauden konstanteen zerrenda.
Erabili horiek session.CONSTANT gisa.

CONSTANT

Balioa

Non dago liburutegia?

Aplikagarria

SCRIPTISEMBEDDED

"document"

dokumentuan

Basic + Python

SCRIPTISAPPLICATION

"application"

partekatutako edozein liburutegitan

Basic

SCRIPTISPERSONAL

"user"

Nire makroetan

Python

SCRIPTISPERSOXT

"user:uno_packages"

uneko erabiltzailearentzako instalatutako hedapen batean

Python

SCRIPTISSHARED

"share"

LibreOffice makroetan

Python

SCRIPTISSHAROXT

"share:uno_packages"

erabiltzaile guztientzat instalatutako hedapen batean

Python

SCRIPTISOXT

"uno_packages"

instalazio-parametro ezezagunak dituen hedapen batean

Python


Session zerbitzuaren metodoen zerrenda

ExecuteBasicScript
ExecuteCalcFunction
ExecutePythonScript
HasUnoMethod

HasUnoProperty
OpenURLInBrowser
RunApplication
SendMail

UnoMethods
UnoProperties
UnoObjectType
WebService


tip

Session zerbitzuaren metodoek honako portaera dute:
Argumentuak balio bidez pasatzen dira. Deitutako funtzioak gauzatutako eguneratzeak ez zaizkio deia egin duen scriptari itzultzen.
Balio bakarra edo balioen matrize bat itzultzen zaio deia egin duen scriptari.


ExecuteBasicScript

Exekutatu Basic scripta izena eta kokalekua emanda, eta atzitu emaitza, halakorik badago.

Scripta aurkitzen ez bada edo ezer ez bada itzultzen, itzulitako balioa Empty izango da.

Sintaxia:


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

Parametroak:

Scope: "document" edo "application" edo session.CONSTANTS aplikagarrietako bat.

Script: "library.module.method" maiuskulak/minuskulak bereizten dituen kate gisa.
Liburutegia memorian kargatuko da, beharrezkoa bada.
Ez du klase-modulua izan behar.
Metodoa Sub bat edo Function bat izan daiteke.

arg0, ...: Deitutako scriptari emango zaizkion argumentuak.

Adibidea:


      session.ExecuteBasicScript(, "XrayTool._Main.Xray", CreateUnoService("com.sun.star.util.TextSearch"))
      ' Xray funtzioak ez du baliorik itzultzen
   

ExecuteCalcFunction

Exekutatu Calc funtzio bat bere ingelesezko izena erabilita eta emandako argumentuetan oinarrituta.
Argumentuak matrizeak badira, funtzioa matrize-formula modura exekutatuko da.

Sintaxia:


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

Parametroak:

CalcFunction: Exekutatuko den funtzioaren ingelesezko izena.

arg0, ...: Deitutako Calc funtzioari emango zaizkion argumentuak. Argumentu bakoitzak katea, zenbakizko balioa edo mota horiek konbinatzen dituzten matrizeen matrizea izan behar du.

Adibidea:


      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)
      ' Errore bat sortzen du.
   

ExecutePythonScript

Exekutatu Python scripta, bere kokalekua eta izena emanda, eta atzitu emaitzak, halakorik badago. Emaitza balio bakarra edo balioen matrizea izan daiteke.

Scripta aurkitzen ez bada edo ezer ez bada itzultzen, itzulitako balioa Empty izango da.

LibreOffice Application Programming Interface (API) scriptgintzako lan-markoak lengoaien arteko scripten exekuzioa onartzen du Python eta Basic lengoaien kasuan, baina baita onartutako beste edozein programazio-lengoaiaren kasuan ere. Argumentuak atzera eta aurrera pasatu daitezke deietan, bi lengoaiek ezagutzen dituzten jatorrizko datu motak ordezkatzen badituzte, eta scriptgintzako lan-markoak haiek modu egokian bihurtuko dituztela onartuta.

Sintaxia:


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

Parametroak:

Scope: session.CONSTANTS aplikagarrietako bat. Lehenetsia = session.SCRIPTISSHARED.

Script: "liburutegia/modulua.py$metodoa" edo "modulua.py$metodoa" edo "nireHedapena.oxt|nireScripta|modulua.py$metodoa" maiuskulak/minuskulak bereizten dituen kate gisa..

arg0 ...: Deitutako scriptari emango zaizkion argumentuak.

Adibidea:


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

HasUnoMethod

True itzultzen du UNO objektu batek metodoa badauka. False itzultzen du metodoa aurkitzen ez bada edo argumentu bat baliogabea bada.

Sintaxia:


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

Parametroak:

UnoObject: Ikuskatuko den objektua.

MethodName: Metodoaren izena, maiuskulak/minuskulak bereizten dituen kate gisa

Adibidea:


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

HasUnoProperty

True itzultzen du UNO objektu batek propietatea badauka. False itzultzen du propietatea aurkitzen ez bada edo argumentu bat baliogabea bada.

Sintaxia:


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

Parametroak:

UnoObject: Ikuskatuko den objektua.

PropertyName: Propietatearen izena, maiuskulak/minuskulak bereizten dituen kate gisa

Adibidea:


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

OpenURLInBrowser

Ireki Uniform Resource Locator (URL) bat nabigatzaile lehenetsian.

Sintaxia:


      session.OpenURLInBrowser(URL As String)
   

Parametroak:

URL: Irekiko den URLa.

Adibidea:


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

RunApplication

Sistemako komando bat ausaz exekutatzen du eta True itzultzen du ongi abiarazi bada.

Sintaxia:


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

Parametroak:

Command: Exekutatuko den komandoa. Fitxategi exekutagarri bat izan daiteke edo aplikazio batekin erregistratuta dagoen dokumentu bat, sistemak jakin dezan zein aplikazio abiarazi behar den dokumentu horretarako. Komandoa uneko SF_FileSystem.FileNaming notazioan adierazi behar da.

Parameters: Zuriunez bereizitako parametroen zerrenda ba, kate bakar gisa. Metodoak ez ditu emandako parametroak balioztatzen, zehaztutako komandoari haiek pasatu besterik ez du egiten.

Adibidea:


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

SendMail

Bidali mezua -aukeran eranskinak gehituta- erabiltzailearen posta elektronikoko bezeroko hartzaileei. Erabiltzaileak mezua editatu dezake hura bidali baino lehen edo, bestela, berehala bidali dezake.

Sintaxia:


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

Parametroak:

Recipient: Posta elektronikoko helbide bat ("Nori" hartzailea).

Cc: Posta elektronikoko helbideen zerrenda bat, komaz bananduta ("carbon copy" hartzaileak).

Bcc: Posta elektronikoko helbideen zerrenda bat, komaz bananduta ("blind carbon copy" hartzaileak).

Subject: Mezuaren gaia.

Body: Mezuaren edukia, formaturik gabeko testu gisa.

FileNames: Fitxategi-izenen zerrenda bat, komaz bananduta. Fitxategi-izen bakoitzak SF_FileSystem.FileNaming notazioa jarraitu behar du.

EditMessage: True (lehenetsia) bada, mezua editatu egingo da bidalia izan baino lehen.

Adibidea:


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

UnoMethods

UNO objektu batetik deitu daitezkeen metodoen zerrenda itzultzen du. Zerrenda zeron oinarritutako matrize bat da, katez osatutakoa, eta hutsik egon daiteke.

Sintaxia:


      session.UnoMethods(UnoObject As Object) As Variant
   

Parametroak:

UnoObject: Ikuskatuko den objektua.

Adibidea:


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

UnoProperties

UNO objektu baten propietateen zerrenda itzultzen du. Zerrenda zeron oinarritutako matrize bat da, katez osatutakoa, eta hutsik egon daiteke.

Sintaxia:


      session.UnoProperties(UnoObject As Object) As Variant
   

Parametroak:

UnoObject: Ikuskatuko den objektua.

Adibidea:


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

UnoObjectType

Identifikatu UNO objektu baten mota kate gisa.

Sintaxia:


      session.UnoObjectType(UnoObject As Object) As String
   

Parametroak:

UnoObject: Identifikatuko den objektua.

Adibidea:


      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

Eskuratu web-edukia URI batetik.

Sintaxia:


      session.WebService(URI As String) As String
   

Parametroak:

URI: Web-zerbitzuaren URI testua.

Adibidea:


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

Aurrizki gisa azpimarra bat ("_") duten ScriptForge Basic errutina edo identifikatzaile guztiak barneko erabilerarako erreserbatuta daude. Ez daude Basic makroetan erabiltzeko pentsatuta.


Emaguzu laguntza!