Tulong sa LibreOffice 25.8
Ang ScriptForge.Basic nagmumungkahi ang serbisyo ng isang koleksyon ng LibreOffice Basic na mga pamamaraan na isasagawa sa isang konteksto ng Python. Basic Ang mga pamamaraan ng serbisyo ay nagpaparami ng eksaktong syntax at pag-uugali ng mga Basic na builtin na function.
Karaniwang halimbawa:
   bas.MsgBox('Ipakita ang text na ito sa isang message box mula sa Python script')
  ScriptForge . Basic Ang serbisyo ay limitado sa mga script ng Python.
Bago gamitin ang Basic serbisyo, i-import ang CreateScriptService() pamamaraan mula sa scriptforge module:
    from scriptforge import CreateScriptService
    bas = CreateScriptService("Basic")
  | Pangalan | ReadOnly | Type | Mga nilalaman | 
|---|---|---|---|
| MB_OK, MB_OKCANCEL, MB_RETRYCANCEL, MB_YESNO, MB_YESNOCANCEL | Mayroon | Integer | Mga Halaga: 0, 1, 5, 4, 3 | 
| MB_ICONEXCLAMATION, MB_ICONINFORMATION, MB_ICONQUESTION, MB_ICONSTOP | Mayroon | Integer | Mga Halaga: 48, 64, 32, 16 | 
| MB_ABORTRETRYIGNORE, MB_DEFBUTTON1, MB_DEFBUTTON2, MB_DEFBUTTON3 | Mayroon | Integer | Mga Halaga: 2, 128, 256, 512 | 
| IDABORT, IDCANCEL, IDIGNORE, IDNO, IDOK, IDRETRY, IDYES | Mayroon | Integer | Mga Halaga: 3, 2, 5, 7, 1, 4, 6 | 
| StarDesktop | Mayroon | UNO | Ibinabalik ang StarDesktop bagay na kumakatawan sa LibreOffice application. | 
| ThisComponent | Mayroon | UNO | Kung ang kasalukuyang bahagi ay tumutukoy sa isang LibreOffice na dokumento, ibinabalik ng pamamaraang ito ang UNO object na kumakatawan sa dokumento. Nagbabalik ang ari-arian na ito wala kapag ang kasalukuyang bahagi ay hindi tumutugma sa isang dokumento. | 
| ThisDatabaseDocument | Mayroon | UNO | Kung ang script ay isinasagawa mula sa isang Base na dokumento o alinman sa mga subcomponents nito ibabalik ng pamamaraang ito ang pangunahing bahagi ng Base instance. Nagbabalik ang ari-arian na ito wala kung hindi. | 
| Listahan ng Mga Paraan sa Pangunahing Serbisyo | ||
|---|---|---|
| 
             CDate | 
             DateDiff | 
             GlobalScope.BasicLibraries | 
Umiiral ang mga alternatibong Python para sa mga pamamaraan na minarkahan ng (*).
Kino-convert ang isang numeric na expression o isang string sa a datetime . datetime Python native object.
Inilalantad ng pamamaraang ito ang Basic builtin function CDate sa mga script ng Python.
svc.CDate(expression: any): obj
pagpapahayag : isang numeric na expression o isang string na kumakatawan sa isang petsa.
    d = bas.CDate(1000.25)
    bas.MsgBox(str(d)) # 1902-09-26 06:00:00
    bas.MsgBox(d.year) # 1902
  Kino-convert ang representasyon ng petsa/oras ng UNO sa a datetime.datetime Python native object.
svc.CDateFromUnoDateTime(unodate: uno): obj
unodate : Isang bagay sa petsa/oras ng UNO ng isa sa mga sumusunod na uri: com.sun.star.util.DateTime , com.sun.star.util.Date o com.sun.star.util.Time
Ang sumusunod na halimbawa ay lumilikha ng a com.sun.star.util.DateTime bagay at ginagawang a datetime.datetime bagay na Python.
    uno_date = bas.CreateUnoStruct('com.sun.star.util.DateTime')
    uno_date.Year = 1983
    uno_date.Month = 2
    uno_date.Day = 23
    new_date = bas.CDateFromUnoDateTime(uno_date)
    bas.MsgBox(str(new_date)) # 1983-02-23 00:00:00
  Kino-convert ang representasyon ng petsa sa isang com.sun.star.util.DateTime bagay.
svc.CDateToUnoDateTime(date: obj): uno
petsa : Isang Python date/time object ng isa sa mga sumusunod na uri: datetime.datetime , datetime.date , datetime.time , lumutang (time.time) o oras.struct_time .
    from datetime import datetime
    current_datetime = datetime.now()
    uno_date = bas.CDateToUnoDateTime(current_datetime)
    bas.MsgBox(str(uno_date.Year) + "-" + str(uno_date.Month) + "-" + str(uno_date.Day))
  Nagbabalik ng pangalan ng file ng path ng system para sa ibinigay file: URL.
svc.ConvertFromUrl(url: str): str
url : Isang ganap file: URL.
Isang pangalan ng file ng path ng system.
    filename = bas.ConvertFromUrl( "file:///C:/Program%20Files%20(x86)/LibreOffice/News.txt" )
    bas.MsgBox(filename)
  uno module fileUrlToSystemPath() method ay nagbabalik ng path ng system gamit ang magkaparehong syntax.
    import uno
    filename = uno.fileUrlToSystemPath( "file:///C:/Program%20Files%20(x86)/LibreOffice/News.txt" )
    bas.MsgBox(filename)
  Nagbabalik a file: URL para sa ibinigay na path ng system.
svc.ConvertToUrl(systempath: str): str
systempath : Isang pangalan ng file ng system bilang isang string.
A file: URL bilang isang string.
    url = bas.ConvertToUrl( 'C:\Program Files(x86)\LibreOffice\News.txt' )
    bas.MsgBox(url)
  uno module systemPathToFileUrl() method ay nagbabalik ng URL ng file para sa ibinigay na path ng system.
    from uno import systemPathToFileUrl as ConvertToUrl
    filename = ConvertToUrl( 'C:\Program Files(x86)\LibreOffice\News.txt' )
    bas.MsgBox(filename)
  Nag-i-instantiate ng serbisyo ng UNO sa ProcessServiceManager .
svc.CreateUnoService(servicename: str): uno
pangalan ng serbisyo : Isang ganap na kwalipikadong pangalan ng serbisyo tulad ng com.sun.star.ui.dialogs.FilePicker o com.sun.star.sheet.FunctionAccess .
    dsk = bas.CreateUnoService('com.sun.star.frame.Desktop')
  Nagbabalik ng instance ng isang istruktura ng UNO ng tinukoy na uri.
svc.CreateUnoStruct(unostructure: str): uno
unostructure : Isang ganap na kwalipikadong pangalan ng istraktura tulad ng com.sun.star.beans.Property o com.sun.star.util.DateTime .
    date_struct = CreateUnoStruct('com.sun.star.util.DateTime')
  uno module createUnoStruct() method ay lumilikha ng isang instance ng isang Uno structure type.
    import uno
    p = uno.createUnoStruct( 'com.sun.star.beans.Property' )
    bas.MsgBox(p)
  Nagdaragdag ng petsa o agwat ng oras sa isang ibinigay na petsa/oras nang ilang beses at ibinabalik ang resultang petsa.
svc.DateAdd(interval: str, number: num, date: datetime): datetime
pagitan : Isang string na expression mula sa sumusunod na talahanayan, na tumutukoy sa petsa o pagitan ng oras.
numero : Isang numerical na expression na tumutukoy kung gaano kadalas ang pagitan ang halaga ay idaragdag kapag positibo o ibawas kapag negatibo.
petsa : Isang binigay datetime.datetime halaga, ang pagitan idadagdag ang halaga numero beses dito datetime.datetime halaga.
A datetime.datetime halaga.
    dt = datetime.datetime(2004, 1, 31)
    dt = bas.DateAdd("m", 1, dt)
    print(dt)
  Ibinabalik ang bilang ng mga agwat ng petsa o oras sa pagitan ng dalawang ibinigay na halaga ng petsa/oras.
svc.DateDiff(interval: str, date1: datetime, date2: datetime, firstdayofweek = 1, firstweekofyear = 1): int
pagitan : Isang string na expression na tumutukoy sa pagitan ng petsa, gaya ng nakadetalye sa itaas DateAdd paraan.
petsa1 , petsa2 : Ang dalawa datetime.datetime mga halagang ihahambing.
Isang numero.
    date1 = datetime.datetime(2005,1, 1)
    date2 = datetime.datetime(2005,12,31)
    diffDays = bas.DateDiff('d', date1, date2)
    print(diffDays)
  Ang PetsaPart function ay nagbabalik ng isang tinukoy na bahagi ng isang petsa.
svc.DatePart(interval: str, date: datetime, firstdayofweek = 1, firstweekofyear = 1): int
pagitan : Isang string na expression na tumutukoy sa pagitan ng petsa, gaya ng nakadetalye sa itaas DateAdd paraan.
petsa : Ang petsa/oras kung saan kinakalkula ang resulta.
unang araw ng linggo, unang linggo ng taon : mga opsyonal na parameter na ayon sa pagkakabanggit ay tumutukoy sa araw ng pagsisimula ng isang linggo at sa panimulang linggo ng isang taon, gaya ng nakadetalye sa itaas DateDiff paraan.
Ang nakuhang bahagi para sa ibinigay na petsa/oras.
    print(bas.DatePart("ww", datetime.datetime(2005,12,31)
    print(bas.DatePart('q', datetime.datetime(1999,12,30)
  Kinakalkula ang halaga ng petsa mula sa string ng petsa.
svc.DateValue(date: str): datetime
Ang nakalkulang petsa.
    dt = bas.DateValue("23-02-2011")
    print(dt)
  Kino-convert ang isang numero sa isang string, at pagkatapos ay i-format ito ayon sa format na iyong tinukoy.
svc.Format(expression: any, format = ''): str
    txt = bas.Format(6328.2, '##.##0.00')
    print(txt)
  Ibinabalik ang default na konteksto ng pabrika ng serbisyo ng proseso, kung mayroon, kung hindi, nagbabalik ng null reference.
GetDefaultContext ay isang alternatibo sa getComponentContext() paraan na makukuha mula sa XSCRIPTCONTEXT global variable o mula sa uno.py modyul.
svc.GetDefaultContext(): uno
Ang default na konteksto ng bahagi ay ginagamit, kapag nag-instantiate ng mga serbisyo sa pamamagitan ng XMultiServiceFactory . Tingnan ang Propesyonal na UNO kabanata sa Gabay ng Developer sa api.libreoffice.org para sa karagdagang impormasyon.
    ctx = bas.GetDefaultContext()
  Nagbabalik ng numerical value na tumutukoy sa graphical na user interface. Ang function na ito ay ibinibigay lamang para sa backward compatibility sa mga nakaraang bersyon.
Sumangguni sa sistema() paraan mula sa plataporma Python module sa kilalanin ang operating system .
svc.GetGuiType(): int
    n = bas.GetGuiType()
  Ibinabalik ang operating system-dependent directory separator na ginamit upang tukuyin ang mga path ng file.
Gamitin os.pathsep mula sa os Python module sa tukuyin ang path separator .
svc.GetPathSeparator(): str
    sep = bas.GetPathSeparator()
  Ibinabalik ang bilang ng mga system ticks na ibinigay ng operating system. Maaari mong gamitin ang function na ito upang i-optimize ang ilang mga proseso. Gamitin ang paraang ito upang tantyahin ang oras sa millisecond:
svc.GetSystemTicks(): int
    ticks_ini = bas.GetSystemTicks()
    time.sleep(1)
    ticks_end = bas.GetSystemTicks()
    bas.MsgBox("{} - {} = {}".format(ticks_end, ticks_ini,ticks_end - ticks_ini))
  Ibinabalik ang UNO object na naglalaman ng lahat ng nakabahaging Basic na library at module.
Ang pamamaraang ito ay katumbas ng Python sa GlobalScope . BasicLibraries sa Basic na mga script.
svc.GlobalScope.BasicLibraries(): uno
com.sun.star.script.XLibraryContainer
Nilo-load ng sumusunod na halimbawa ang Gimmicks Basic library kung hindi pa ito na-load.
    libs = bas.GlobalScope.BasicLibraries()
    if not libs.isLibraryLoaded("Gimmicks"):
        libs.loadLibrary("Gimmicks")
  Ibinabalik ang UNO object na naglalaman ng lahat ng shared dialog library.
Ang pamamaraang ito ay katumbas ng Python sa GlobalScope . DialogLibraries sa mga Pangunahing script.
svc.GlobalScope.DialogLibraries(): uno
com.sun.star.comp.sfx2.DialogLibraryContainer
Ang sumusunod na halimbawa ay nagpapakita ng isang message box na may mga pangalan ng lahat ng available na dialog library.
    dlg_libs = bas.GlobalScope.DialogLibraries()
    lib_names = dlg_libs.getElementNames()
    bas.MsgBox("\n".join(lib_names))
  svc.InputBox(prompt: str, [title: str], [default: str], [xpostwips: int, ypostwips: int]): str
String
    txt = s.InputBox('Mangyaring magpasok ng parirala:', "Minamahal na user")
    s.MsgBox(txt, s.MB_ICONINFORMATION, "Pagkumpirma ng parirala")
  Para sa malalim na impormasyon mangyaring sumangguni sa Input/Output sa Screen gamit ang Python sa Wiki.
Nagpapakita ng dialog box na naglalaman ng mensahe at nagbabalik ng opsyonal na halaga.
 Tumutulong ang mga constant ng MB_xx na tukuyin ang uri ng dialog, ang numero at uri ng mga button na ipapakita, kasama ang uri ng icon. Sa pamamagitan ng pagdaragdag ng kani-kanilang mga halaga ay bumubuo sila ng mga bit pattern, na tumutukoy sa MsgBox anyo ng diyalogo.
bas.MsgBox(prompt: str, [buttons: int], [title: str])[: int]
Isang opsyonal na integer gaya ng nakadetalye sa itaas IDxx ari-arian.
Ibinabalik ang kasalukuyang petsa at oras ng system bilang a datetime . datetime Python native object.
svc.Now(): datetime
    bas.MsgBox(bas.Now(), bas.MB_OK, "Now")
  Nagbabalik ng integer na value ng kulay na binubuo ng pula, berde, at asul na bahagi.
svc.RGB(red:int, green: int, blue: int): int
Integer
    YELLOW = bas.RGB(255,255,0)
  Siyasatin ang mga bagay o variable ng Uno.
svc.Xray(obj: any)
obj : Isang variable o UNO object.
    bas.Xray(bas.StarDesktop)