LibreOffice 25.2 Hjælp
Tjenesten ScriptForge.Basic tilbyder en samling af LibreOffice Basic-metoder til kørsel i en Python-kontekst. Tjenesten Basics metoder reproducerer de indbyggede Basic-funktioners præcise syntaks og adfærd.
Typisk eksempel:
   bas.MsgBox('Vis denne tekst i et meddelsesesfelt fra et Python-script')
  Tjenesten ScriptForge.Basic er begrænset til Python-scripts.
Før brug af tjenesten Basic importerer du metoden CreateScriptService() fra moduletscriptforge:
    from scriptforge import CreateScriptService
    bas = CreateScriptService("Basic")
  | Navn | Skrivebeskyttet | Type | Beskrivelse | 
|---|---|---|---|
| MB_OK, MB_OKCANCEL, MB_RETRYCANCEL, MB_YESNO, MB_YESNOCANCEL | Ja | Integer | Værdier: 0, 1, 5, 4, 3 | 
| MB_ICONEXCLAMATION, MB_ICONINFORMATION, MB_ICONQUESTION, MB_ICONSTOP | Ja | Integer | Værdier: 48, 64, 32, 16 | 
| MB_ABORTRETRYIGNORE, MB_DEFBUTTON1, MB_DEFBUTTON2, MB_DEFBUTTON3 | Ja | Integer | Værdier: 2, 128, 256, 512 | 
| IDABORT, IDCANCEL, IDIGNORE, IDNO, IDOK, IDRETRY, IDYES | Ja | Integer | Værdier: 3, 2, 5, 7, 1, 4, 6 | 
| StarDesktop | Ja | UNO | Returns the StarDesktop object that represents the LibreOffice application. | 
| ThisComponent | Yes | UNO | If the current component refers to a LibreOffice document, this method returns the UNO object representing the document. This property returns None when the current component does not correspond to a document. | 
| ThisDatabaseDocument | Yes | UNO | If the script is being executed from a Base document or any of its subcomponents this method returns the main component of the Base instance. This property returns None otherwise. | 
Konverterer et numerisk udtryk eller en streng til et standard datetime.datetime Python-objekt.
Denne metode udsætter den indbyggede Basic-funktion CDate for Python-scripts.
svc.CDate(expression: any): obj
udtryk: et numerisk udtryk eller en streng, der repæsenterer en dato.
    d = bas.CDate(1000.25)
    bas.MsgBox(str(d)) # 1902-09-26 06:00:00
    bas.MsgBox(d.year) # 1902
  Konverterer en UNO dato/klokkeslæt-representation til et standard datetime.datetime Python-objekt.
svc.CDateFromUnoDateTime(unodate: uno): obj
unodate: Et UNO dato/klokkeslæt-objekt af følgende typer: com.sun.star.util.DateTime, com.sun.star.util.Date eller com.sun.star.util.Time
Det følgende eksempel opretter et com.sun.star.util.DateTime-objekt og konverterer det til et 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 en dato-repræsentation til et com.sun.star.util.DateTime-objekt.
svc.CDateToUnoDateTime(date: obj): uno
dato: Et Python dato/klokkeslæt-objekt af en af følgende typer: 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 en systemsti filnavn til den givne file: URL.
svc.ConvertFromUrl(url: str): str
url: En absolut file: URL.
Et systemsti-filnavn.
    filename = bas.ConvertFromUrl( "file:///C:/Program%20Files%20(x86)/LibreOffice/News.txt")
    bas.MsgBox(filename)
  Returnerer file: URL til den givne systemsti.
svc.ConvertToUrl(systempath: str): str
systemsti: Navnet på en systemfil som en streng.
A file: URL som en streng.
    url = bas.ConvertToUrl( 'C:\Program Files(x86)\LibreOffice\News.txt')
    bas.MsgBox(url)
  Instantierer en UNO-tjeneste med ProcessServiceManager.
svc.CreateUnoService(servicename: str): uno
tjenestenavn: Et fuldt kvalificeret tjenestenavn som for eksempel com.sun.star.ui.dialogs.FilePicker eller com.sun.star.sheet.FunctionAccess.
    dsk = bas.CreateUnoService('com.sun.star.frame.Desktop')
  Returns an instance of a UNO structure of the specified type.
svc.CreateUnoStruct(unostructure: str): uno
unostructure: A fully qualified structure name such as com.sun.star.beans.Property or com.sun.star.util.DateTime.
    date_struct = CreateUnoStruct('com.sun.star.util.DateTime')
  Tilføjer en dato eller tidsinterval til en given dato/klokkeslæt et antal gange og returnerer den resulterende dato.
svc.DateAdd(interval: str, number: num, date: datetime): datetime
interval: Et strengudtryk fra den følgende tabel, der angiver datoen eller tidsintervallet.
antal: Et numerisk udtryk, der angiver hvor ofte værdien interval skal tilføjes, når den er positiv, er trækkes fra, når når den er negativ.
dato: En given datetime.datetime-værdi, interval-værdien vil, blive lagt number (antal) gange til denne datetime.datetime-værdi.
En datetime.datetimeværdi.
    dt = datetime.datetime(2004, 1, 31)
    dt = bas.DateAdd("m", 1, dt)
    print(dt)
  Returnerer antallet af dags- eller tids-intervaller mellem to givne dato-/klokkeslæt-værdier.
svc.DateDiff(interval: str, date1: datetime, date2: datetime, firstdayofweek = 1, firstweekofyear = 1): int
interval: Et strengudtryk, der angiver datointervallet, som vist i metoden DateAdd ovenfor.
dato1, dato2: De to datetime.datetime-værdier, der skal sammenlignes.
Et tal.
    date1 = datetime.datetime(2005,1, 1)
    date2 = datetime.datetime(2005,12,31)
    diffDays = bas.DateDiff('d', date1, date2)
    print(diffDays)
  Funktionen DatePart returnerer en angivet del af datoen.
svc.DatePart(interval: str, date: datetime, firstdayofweek = 1, firstweekofyear = 1): int
interval: Et strengudtryk, der angiver datointervallet, som vist i metoden DateAdd ovenfor.
dato: Den dato/det klokkeslæt, hvorfra resultatet beregnes.
førstedagiugen, førsteuge i året: valgfrie parametre, der angiver henholdsvis ugens føreste dag og årets første uge som forklaret ovenfor i metoden DateDiff.
Den udtrukne del af den/det givne dato/klokkeslæt
    print(bas.DatePart("ww", datetime.datetime(2005,12,31)
    print(bas.DatePart('q', datetime.datetime(1999,12,30)
  Beregner en datoværdi fra en datostreng.
svc.DateValue(date: str): datetime
Den beregnede dato.
    dt = bas.DateValue("23-02-2011")
    print(dt)
  Konverterer et tal til en streng og formaterer den derefter i det format, du angiver.
svc.Format(expression: any, format = ''): str
    txt = bas.Format(6328.2, '##.##0.00')
    print(txt)
  Returnerer processen tjeneste-fabriks standard-kontekst, hvis den eksisterer, ellers returnerer den en nul-reference.
GetDefaultContext er et alternativ til metoden getComponentContext(), der er tilgængelig fra den globale variabel XSCRIPTCONTEXT eller fra modulet uno.py.
svc.GetDefaultContext(): uno
Komponentens standardkontekst bruges under instantiering af tjenester via XMultiServiceFactory. Se kapitlet Professional UNO i Udviklerens guide til api.libreoffice.org for at få mere at vide.
    ctx = bas.GetDefaultContext()
  Returnerer en numerisk værdi, der angiver den grafiske brugerflade. Denne funktion leveres kun af hensyn til bagudkompatibilitet med tidligere versioner.
Se metoden system()i Python-modulet platform for at identificere operativsystemet.
svc.GetGuiType(): int
    n = bas.GetGuiType()
  Returnerer det operativsystem-afhængige skilletegn, der bruges til at angive stier.
Brug os.pathsep i Python-modulet os til at identificere sti-skilletegnet.
svc.GetPathSeparator(): str
    sep = bas.GetPathSeparator()
  Returnerer antallet tidsenheder, leveret afoperativsystemet. Du kan bruge denne funktion til at optimere visse processer. Brug denne metode til at skønne 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-objekt, der indeholder alle delte Basic-biblioteker og -moduler.
Denne metode er Pythons svar på GlobalScope.BasicLibraries i Basic-scripts.
svc.GlobalScope.BasicLibraries(): uno
com.sun.star.script.XLibraryContainer
Det følgende eksempel indlæster Basic-biblioteket Gimmicks, hvis det endnu ikke indlæst.
    libs = bas.GlobalScope.BasicLibraries()
    if not libs.isLibraryLoaded("Gimmicks"):
        libs.loadLibrary("Gimmicks")
  Returnerer det UNO-objekt, der indeholder alle delte dialog-biblioteker.
Denne metode er Pythons svar på GlobalScope.DialogLibraries i Basic-scripts.
svc.GlobalScope.DialogLibraries(): uno
com.sun.star.comp.sfx2.DialogLibraryContainer
Det følgende eksempel viser et beskedfelt med navnene på alle tilgængelige dialog-biblioteker.
    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.Indtastningsfelt('Skriv venligst et udtryk:', "Kære bruger")
    s.MsgBox(txt, s.MB_ICONINFORMATION, "Bekræftelse af frase")
  Se venligst dybtgående information Input/Output til skærmen med Python på Wiki'en.
Viser et dialogfelt, der indeholder en besked og returnerer en valgfri værdi.
Mb_xx-konstanter hjælper med til at specificere dialogtypen, antallet af typen af knapper, der skal vises, samt ikontypen. Ved at tilføje deres respektive værdier danner de bit-mønstre, der definerer dialogen MsgBoxs udseende.
bas.MsgBox(prompt: str, [buttons: int], [title: str])[: int]
Et valgfrit heltal som forklaret i IDxx-egenskaber ovenfor.
Returnerer den aktuelle system-dato og -klokkeslæt som en standard datetime.datetime Python-objekt.
svc.Now(): datetime
    bas.MsgBox(bas.Now(), bas.MB_OK, "Now")
  Returnere en heltalsværdi, bestående af røde, grønne og blå komponenter.
svc.RGB(red:int, green: int, blue: int): int
Integer
    YELLOW = bas.RGB(255,255,0)
  Inspicerer UNO-objekter eller -variable.
svc.Xray(obj: any)
obj: En variabel eller et UNO-objekt.
    bas.Xray(bas.StarDesktop)