LibreOffice 25.2 Hjelp
Tenesta FormDocument gjev tilgang til skjemadokument som er lagra i LibreOffice Base-dokument.
I eit Base-dokument kan skjemadokument som finst visast ved å velja i brukargrensesnittet. Kvart skjemadokument kan innehalda eitt eller fleire skjema, og også hovudskjemaet og andre delskjema.
Denne tenesta arvar metodar og eigenskapar frå tenesta Document og vert ofte brukt saman med tenestene Base og Database.
Sjå tenesta Document for å læra meir om metodane og eigenskapane som kan brukast for å administrera LibreOffice-dokument.
Før du brukar tenesta FormDocument må biblioteket ScriptForge vera lasta inn eller importert:
Ein FormDocument-tenesteførekomst kan opprettast ved å kalla metoden OpenFormDocument som finst både i Base- og Database-tenestene.
Eksempelet nedanfor brukar tenesta UI til å opna eit Base-dokument og deretter henta eit skjemadokument. Vêr merksam på at i dette dømet vert opna både Base-dokumentet og skjemadokumentet og vert vist på skjermen.
    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()
  Eksempelet nedanfor brukar tenesta Database for å opna skjemadokumentet. I dette tilfellet vert Base-fila ikje opna og berre skjemadokumentet vert vist.
    Dim oDatabase As Object, oFormDoc As Object
    oDatabase = CreateScriptService("Database", "C:\Documents\MyDatabase.odb")
    oFormDoc = oDatabase.OpenFormDocument("MyFormDocument")
  Viss du kallar opp OpenFormDocument for eit skjemadokument som alt er opna, vert dokumentvindauget slått på og vert sett i fokus.
Eksempla ovanfor kan omsetjast til Python slik:
    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 metodar i tenesta «FormDocument» | ||
|---|---|---|
Lukkar skjemadokumentet som FormDocument viser til. Returnerer Sann viss skjemadokumentet vart lukka.
svc.CloseDocument(): bool
    oFormDoc.CloseDocument()
  
    formDoc.CloseDocument()
  Returnerer anten ei matrise med namna på hovudskjemaa i skjemadokumentet eller ei Form-tenesteførekomst som refererer til eit bestemt skjema.
Kall opp denne metoden utan argument for å få ei nullbasert strengmatrise med namna på alle skjemaa i skjemadokumentet.
Oppgje eit skjemanamn eller ein indeks som argument for å få ein Form tenesteførekomst som svarar til det gjevne skjemaet.
Eit skjemadokument har minst eitt hovudskjema. Meir komplekse skjemadokument kan ha meir enn eitt skjema og delskjema.
svc.Forms(): str[0..*]
svc.Forms(form: str): svc
svc.Forms(form: int): svc
form: Dette argumentet kan anten vera ein streng med namnet på eit skjema som finst i skjemadokumentet, eller den nullbaserte indeksen for skjemaet som skal returnerast. HViss dette argumentet ikkje er spesifikt, vert ei matrise med namnet på alle tilgjengelage skjema returnert.
Eksempelet nedanfor kontrollerer om skjemadokumentet inneheld eit skjema kalla «MainForm»:
    arrForms = oFormDoc.Forms()
    If SF_Array.Contains(arrForms, "MainForm") Then
        ' ...
    End If
  Eksempelet nedanfor hentar skjemaet kalla «MainForm» og flyttar det til den siste posten:
    Dim oForm As Object
    oForm = oFormDoc.Forms("MainForm")
    oForm.MoveLast()
  
    arrForms = formDoc.Forms()
    if "MainForm" in arrForms:
        # ...
  
    form = formDoc.Forms("MainForm")
    form.MoveLast()
  For å læra meir om skjema-metodar og -eigenskapar, sjå hjelpesidene til tenestaForm.
Denne metoden sender innhaldet i dokument til standardskrivaren eller til den skrivaren som er definert med metoden SetPrinter.
Returnerer Sann viss det lukkast å senda dokumentet til skrivaren.
svc.PrintOut(pages: str = "", copies: int = 1, printbackground: bool = true, printblankpages: bool = false, printevenpages: bool = true, printoddpages: bool = true, printimages: bool = true): bool
page: Sidene som skal skrivast ut som ein streng. Dette argumentet bør gjevast på same måte som i brukargrensesnittet (sjå dialogvindauget ). Eksempel: "1-4; 10; 15-18". Standardverdien er ein tom streng ("") som vil føra til at alle sidene vert skrivne ut.
copies: Kor mange kopiar som skal skrivast ut. (Standard = 1).
printbackground: spesifiserer om bakgrunnsbiletet skal skrivast ut. (Standard = Sann).
printblankpages: spesifiserer om tomme sider skal skrivast ut (standard = Usann).
printevenpages: spesifiserer om partalssider skal skrivast ut (standard = Sann).
printoddpages: spesifiserer om oddetalssider skal skrivast ut (standard = Sann).
printimages: spesifiserer om bileta skal skrivast ut (standard = Sann).
    oFormDoc.PrintOut("1-4", Copies := 2, PrintBackground := False)
  
    formDoc.PrintOut("1-4", copies = 2, printbackground = False)