LibreOffice 25.8 Hjælp
Tjenesten FormDocument giver tilgang til formulardokumenter gemt i LibreOffice Base-dokumenter.
I et Base-dokument kan eksisterende formulardokumenter ses ved at vælge i brugerfladen. Hvert formulardokument kan være sammensat af en eller flere formularer, inklusive hovedformularen og andre underformularer.
Denne tjeneste arver metoder og egenskaber fra Document-tjenesten og bruges ofte sammen med tjenesterne Base og Database.
Se tjenesten Document for at lære mere om, hvordan metoder og egenskaber kan bruges til at administrere LibreOffice-dokumenter.
Før du bruger tjenesten FormDocument skal biblioteket ScriptForge være indlæst eller importeret:
En instans af FormDocument-tjenesten kan oprettes ved at kalde metoden OpenFormDocument, som findes i både Base-tjenesten og Database-tjenesten.
Eksemplet nedenfor bruger tjenesten UI (brugerflade) til at åbne et Base-dokument og derefter hente et formulardokument. Bemærk at i dette eksempel vil både Base-dokumentet og formulardokumentet blive åbnet og vist på skærmen.
    Dim ui As Object, oBase As Object, oFormDoc As Object
    ui = CreateScriptService("UI")
    oBase = ui.OpenBaseDocument("C:\Documents\MyDatabase.odb")
    oFormDoc = oBase.OpenFormDocument("MyFormDocument")
    ' ...
    oFormDoc.CloseDocument()
  Det følgende eksempel bruger Database-tjenesten til at åbne et formulardokument. I dette tilfælde vil Base-filen ikke blive åbnet, og kun formulardokumentet vil blive vist.
    Dim oDatabase As Object, oFormDoc As Object
    oDatabase = CreateScriptService("Database", "C:\Documents\MyDatabase.odb")
    oFormDoc = oDatabase.OpenFormDocument("MyFormDocument")
  Kald af OpenFormDocument for at formulardokument som allerede er åbent vil aktivere dokumentvinduet og bringe det i fokus.
Eksemplerne ovenfor kan oversættes til Python som følger:
    ui = CreateScriptService("UI")
    baseDoc = ui.OpenBaseDocument("C:\Documents\MyDatabase.odb")
    formDoc = baseDoc.OpenFormDocument("MyFormDocument")
    # ...
    formDoc.CloseDocument()
  
    database = CreateScriptService("Database", "C:\Documents\MyDatabase.odb")
    formDoc = database.OpenFormDocument("MyFormDocument")
  | Liste over metoder i tjenesten FormDocument | ||
|---|---|---|
Lukker det formulardokument, der refereres til af FormDocument-instansen. Returnerer True hvis det lykkedes at lukke formulardokumentet.
svc.CloseDocument(): bool
    oFormDoc.CloseDocument()
  
    formDoc.CloseDocument()
  Returnerer enten et array med navnene på hovedformularerne i formulardokumentet, eller en instans af Form-tjenesten, som referer til en specifik formular.
Kald denne metode uden argumenter for at få et streng-array med startindeks 0, som indeholder navnene på alle formularer indeholdt i formulardokumentet.
Angiv navn eller indeks på en formular som argument, for at modtage en instans af Form-tjenesten, der svarer til den den angivne formular.
Et formulardokument har mindst én hovedformular. Mere komplekse formulardokumenter kan være sammensat af mere end én formular og underformularer.
svc.Forms(): str[0..*]
svc.Forms(form: str): svc
svc.Forms(form: int): svc
form: (formular) Dette argument kan være enten en streng med navnet på en formular, som findes i formulardokumentet, eller argumentet kan være et indeks, begyndende med 0, på den formular som skal returnereres. Hvis dette argument ikke angives, så returneres et array med navne på alle tilgængelige formularer.
Det følgende eksempel undersøger, om formulardokumentet indeholder en formular med navnet "MainForm":
    arrForms = oFormDoc.Forms()
    If SF_Array.Contains(arrForms, "MainForm") Then
        ' ...
    End If
  Nedenstående eksempel henter formularen med navnet "MainForm" og flytter den til sidste post:
    Dim oForm As Object
    oForm = oFormDoc.Forms("MainForm")
    oForm.MoveLast()
  
    arrForms = formDoc.Forms()
    if "MainForm" in arrForms:
        # ...
  
    form = formDoc.Forms("MainForm")
    form.MoveLast()
  For at lære mere om formular-metoder og -egenskaber, se hjælpesiden for Form-tjenesten.
Denne metode sender indholdet af formulardokumentet til standardprinteren eller til printeren defineret af SetPrinter()-metoden.
Returnerer True hvis det lykkedes at sende dokumentet til printeren.
svc.PrintOut(pages: str = "", copies: int = 1, printbackground: bool = true, printblankpages: bool = false, printevenpages: bool = true, printoddpages: bool = true, printimages: bool = true): bool
pages: Siderne der skal udskrives, angivet som en streng. Dette argument angives på samme måde som i brugerfladen (se -dialogen). Eksempel: "1-4;10;15-18". Standardværdien er en tom streng, "", med den virkning at alle sider udskrives.
copies: Antal kopier, der skal printes (standard = 1).
printbackground: Angiver om baggrundsbilledet skal printes (standard = True).
printblankpages: Angiver om tomme sider skal printes (standard = False).
printevenpages: Angiver om lige sider skal printes (standard = True).
printoddpages: Angiver om ulige sider skal printes (standard = True).
printimages: Angiver om billeder skal printes (standard = True).
    oFormDoc.PrintOut("1-4", Copies := 2, PrintBackground := False)
  
    formDoc.PrintOut("1-4", copies = 2, printbackground = False)