LibreOffice 25.2 Hjelp
Tenesta ScriptForge.Basic tilbyr ei samling av LibreOffice Basic-metodar som kan køyrast i ein Python-samanheng. Tenesta Basic sine metodar reproduserer dei innebygde Basic-funksjonane nøyaktig i høve til syntaks og oppførsel.
Typisk eksempel:
   bas.MsgBox('Vis denne teksten i ein meldingsboks frå eit Python-skript')
  Tenesta ScriptForge.Basic er avgrensa til Python-skript.
Før du kan bruka tenesta Basic må du importera metoden CreateScriptService() frå modulen scriptforge:
    from scriptforge import CreateScriptService
    bas = CreateScriptService("Basic")
  | Namn | Skriveverna | Type | Skildring | 
|---|---|---|---|
| MB_OK, MB_OKCANCEL, MB_RETRYCANCEL, MB_YESNO, MB_YESNOCANCEL | Ja | Integer | Verdiar: 0, 1, 5, 4, 3 | 
| MB_ICONEXCLAMATION, MB_ICONINFORMATION, MB_ICONQUESTION, MB_ICONSTOP | Ja | Integer | Verdiar: 48, 64, 32, 16 | 
| MB_ABORTRETRYIGNORE, MB_DEFBUTTON1, MB_DEFBUTTON2, MB_DEFBUTTON3 | Ja | Integer | Verdiar: 2, 128, 256, 512 | 
| IDABORT, IDCANCEL, IDIGNORE, IDNO, IDOK, IDRETRY, IDYES | Ja | Integer | Verdiar: 3, 2, 5, 7, 1, 4, 6 | 
| StarDesktop | Ja | UNO- | Returnerer StarDesktop-objektet som representerer LibreOffice-programmet. | 
| ThisComponent | Ja | UNO | Viss den gjeldande komponenten refererer til eit LibreOffice-dokument, returnerer denne metoden UNO-objektet som representerer dokumentet. Denne eigenskapen returnerer Ingen når den gjeldande komponenten ikkje samsvarar med eit dokument. | 
| ThisDatabaseDocument | Ja | UNO | →iss skriptet vert køyrd frå eit Base-dokument eller nokre av underkomponentane i det, returnerer denne metoden hovudkomponenten til Base-førekomsten. Denne eigenskapen returnerer ellesIngen. | 
Konverterer eit numerisk uttrykk eller ein streng til eit standard datetime.datetime Python-objekt.
Denne metoden viser den innebygde Basic-funksjonen CDate for Python-skript.
svc.CDate(expression: any): obj
uttrykk: eit numerisk uttrykk eller ein streng som representerer ein dato.
    d = bas.CDate(1000.25)
    bas.MsgBox(str(d)) # 1902-09-26 06:00:00
    bas.MsgBox(d.year) # 1902
  Konverterer ein UNO dato/klokkeslett-representasjon til eit vanleg datetime.datetime Python-objekt.
svc.CDateFromUnoDateTime(unodate: uno): obj
unodato: Eit UNO dato/klokkeslett-objekt av desse typane: com.sun.star.util.DateTime, com.sun.star.util.Date eller com.sun.star.util.Time
Det neste eksempelet lagar eit com.sun.star.util.DateTime-objekt og konverterer det til eit datetime.datetime Python-objekt.
    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
  Konverterer ein dato-representasjon til eit com.sun.star.util.DateTime-objekt.
svc.CDateToUnoDateTime(date: obj): uno
dato: Eit Python dato/klokkeslett-objekt av ein av dei følgjande typane: datetime.datetime, datetime.date, datetime.time, float (time.time) eller time.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))
  Returnerer eit filnamn for systembanen for den gjevne file: URL.
svc.ConvertFromUrl(url: str): str
url: Ei absolutt file: URL.
Eit filnamn for systembane.
    filename = bas.ConvertFromUrl( "file:///C:/Program%20Files%20(x86)/LibreOffice/News.txt")
    bas.MsgBox(filename)
  Returnerer ei file: URL for den gjevne systemstien.
svc.ConvertToUrl(systempath: str): str
systemsti: Namnet på ei systemfil som ein streng.
Ein file: URL som ein streng.
    url = bas.ConvertToUrl( 'C:\Program Files(x86)\LibreOffice\News.txt')
    bas.MsgBox(url)
  Startar ei UNO-teneste med ProcessServiceManager.
svc.CreateUnoService(servicename: str): uno
servicename: Eit fult kvalifisert tenestenamn som for eksempel com.sun.star.ui.dialogs.FilePicker eller com.sun.star.sheet.FunctionAccess.
    dsk = bas.CreateUnoService('com.sun.star.frame.Desktop')
  Returnerer ein førekomst av ein UNO-struktur av den gjevne typen.
svc.CreateUnoStruct(unostructure: str): uno
unostructure: Eit fullt gyldig strukturnamn som com.sun.star.beans.Property eller com.sun.star.util.DateTime.
    date_struct = CreateUnoStruct('com.sun.star.util.DateTime')
  Legg til eit dato- eller klokkeslett-intervall i eit gjeve dato/klokkeslett eit bestemt tal gongar og returnerer den nye datoen.
svc.DateAdd(interval: str, number: num, date: datetime): datetime
intervall: Eit strenguttrykk frå tabellen nedanfor som spesifiserer dato- eller tidsintervallet.
number: Eit numerisk uttrykk som bestemmer kor ofte verdien av intervall skal leggjast til når han er positiv eller trekkjast frå når han er negativ.
date: Ein gjeven datetime.datetime-verdi, interval-verdien vert lagt til number gongar til denne datetime.datetime-verdien.
Ein datetime.datetime-verdi.
    dt = datetime.datetime(2004, 1, 31)
    dt = bas.DateAdd("m", 1, dt)
    print(dt)
  Returnerer talet på dato- eller klokkeslett-intervall mellom to gjevne dato-/klokkeslett-verdiar.
svc.DateDiff(interval: str, date1: datetime, date2: datetime, firstdayofweek = 1, firstweekofyear = 1): int
interval: Eit strengudtrykk som spesifiserer datointervallet, forklart i metoden DateAdd ovanfor.
date1, date2: Dei to datetime.datetime-verdiane som skal samanliknast.
Eit tal
    date1 = datetime.datetime(2005,1, 1)
    date2 = datetime.datetime(2005,12,31)
    diffDays = bas.DateDiff('d', date1, date2)
    print(diffDays)
  Funksjonen DatePart returnerer ein spesifisert del av ein dato.
svc.DatePart(interval: str, date: datetime, firstdayofweek = 1, firstweekofyear = 1): int
interval: Eit strengudtrykk som spesifiserer datointervallet, vist i metoden DateAdd ovanfor.
dato: Datoen/klokkeslettet som resultatet skal reknast ut for.
førstedagiveka, førstevekeiåret: valfrie parametrar som spesifiserer den første dagen i veka og den første veka i året ut frå forklaringa ovanfor i metoden DateDiff.
Den uttrukne delen av ein gjeven dato/eit gjeve klokkeslett.
    print(bas.DatePart("ww", datetime.datetime(2005,12,31)
    print(bas.DatePart('q', datetime.datetime(1999,12,30)
  Reknar ut ein datoverdi frå ein datostreng.
svc.DateValue(date: str): datetime
Den utrekna datoen.
    dt = bas.DateValue("23-02-2011")
    print(dt)
  Konverterer eit tal til ein streng og formaterer det i høve til det gjevne formatet.
svc.Format(expression: any, format = ''): str
    txt = bas.Format(6328.2, '##.##0.00')
    print(txt)
  Returnerer standardsamanhengen for prosesstenestefabrikken viss denne finst, elles ein nullreferanse.
GetDefaultContext er eit alternativ til metoden getComponentContext() som er tilgjengeleg frå den globale variabelen XSCRIPTCONTEXT eller frå modulen uno.py.
svc.GetDefaultContext(): uno
Standard komponentkontekst vert brukt ved instansiering av tenester via XMultiServiceFactory. Sjå kapittelet Professional UNO i Utviklarens guide til api.libreoffice.org for meir informasjon.
    ctx = bas.GetDefaultContext()
  Returnerer ein numerisk verdi som gjev den grafiske brukarflata. Denne funksjonen er teke med berre for å vera bakoverkompatibel med tidlegare versionar.
Sjå metoden system()i Python-modulen platform for å identifisera operativsystemet.
svc.GetGuiType(): int
    n = bas.GetGuiType()
  Returnerer teiknet som vert brukt av operativsystemet for å skilja mapper i filstiane.
Bruk os.pathsep i Python-modulen os til å identifisera sti-skiljeteiknet.
svc.GetPathSeparator(): str
    sep = bas.GetPathSeparator()
  Returnerer talet på «system-ticks». Denne funksjonen kan brukast for å optimalisera ulike prosessar. Bruk denne metoden for å estimere tid i millisekunder:
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))
  Returnerer det UNO-objektet som inneheld alle delte Basic-bibliotek og -modular.
Denne metoden er Python sitt svar på GlobalScope.BasicLibraries i Basic-skript.
svc.GlobalScope.BasicLibraries(): uno
com.sun.star.script.XLibraryContainer
Det neste eksempelet lastar inn Basic-biblioteket Gimmicks, viss dette ikkje alt er gjort.
    libs = bas.GlobalScope.BasicLibraries()
    if not libs.isLibraryLoaded("Gimmicks"):
        libs.loadLibrary("Gimmicks")
  Returnerer det UNO-objektet som inneheld alle delte dialog-bibliotek.
Denne metoden er Python sitt svar på GlobalScope.BasicLibraries i Basic-skript.
svc.GlobalScope.DialogLibraries(): uno
com.sun.star.comp.sfx2.DialogLibraryContainer
Det neste eksempelet viser eit meldingsfelt med namna på alle tilgjengelege dialog-bibliotek.
    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 ('Skriv inn eit uttrykk:','Kjære brukar')
    s.MsgBox(txt, s.MB_ICONINFORMATION, "Stadfesting av frase")
  Sjå djuptgåande informasjon på Inndata/utdata til skjermen med Python på Wiki'en.
Viser eit dialogvindauge som inneheld ei melding og returnerer ein valfri verdi.
MB_xx-konstanter hjelper til å spesifisere type dialogvindauge, talet på knappetypar som skal visast og ikontypen. Når du legg inn dei respektive verdiane, lagar desse eit bit-mønstre som definerer utsjånaden på dialogvindauget MsgBox.
bas.MsgBox(prompt: str, [buttons: int], [title: str])[: int]
Eit valfritt heiltal som forklart i IDxx-eigenskapane ovanfor.
Returnerer den gjeldande system-datoen og -klokkeslettet som datetime.datetime Python-objekt.
svc.Now(): datetime
    bas.MsgBox(bas.Now(), bas.MB_OK, "Now")
  Returnerer ein heiltals fargeverdi sett saman av dei raude, grøne og blå komponentane.
svc.RGB(red:int, green: int, blue: int): int
Integer
    YELLOW = bas.RGB(255,255,0)
  Inspiserer UNO-objekt eller -variablar
svc.Xray(obj: any)
obj: Ein variabel eller eit Uno-objekt.
    bas.Xray(bas.StarDesktop)