Tenesta SFDocuments.FormDocument

Tenesta FormDocument gjev tilgang til skjemadokument som er lagra i LibreOfficeDev Base-dokument.

I eit Base-dokument kan skjemadokument som finst visast ved Ă„ velja Vis → Skjema i brukargrensesnittet. Kvart skjemadokument kan innehalda eitt eller fleire skjema, inkludert hovudskjemaet og andre delskjema.

Denne tenesta arvar metodar og eigenskapar frÄ tenesta Document og vert ofte brukt saman med tenestene Base og Database.

tip

SjÄ tenesta Document for Ä lÊra meir om metodane og eigenskapane som kan brukast for Ä administrera LibreOfficeDev-dokument.


Oppkall av tenester

FÞr du brukar tenesta FormDocument mÄ biblioteket ScriptForge vera lasta inn eller importert:

note

‱ Grunnleggjande makroar krev innlasting av biblioteket ScriptForge ved hjelp av denne setninga:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

‱ Python-skript krev import frĂ„ scriptforge-modulen:
from scriptforge import CreateScriptService


I Basic

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()
  

The following example uses the Database service to open the form document. In this case, the Base file will not be opened and only the form document will be shown.


    Dim oDatabase As Object, oFormDoc As Object
    oDatabase = CreateScriptService("Database", "C:\Documents\MyDatabase.odb")
    oFormDoc = oDatabase.OpenFormDocument("MyFormDocument")
  
note

Viss du kallar opp OpenFormDocument for eit skjemadokument som alt er opna, vert dokumentvindauget slÄtt pÄ og vert sett i fokus.


I Python

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»

CloseDocument

Forms

PrintOut


CloseDocument

Lukkar skjemadokumentet som FormDocument viser til. Returnerer Sann viss skjemadokumentet vart lukka.

Syntaks:

svc.CloseDocument(): bool

Eksempel:

I Basic

    oFormDoc.CloseDocument()
  
I Python

    formDoc.CloseDocument()
  

Forms

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.

note

Eit skjemadokument har minst eitt hovudskjema. Meir komplekse skjemadokument kan ha meir enn eitt skjema og delskjema.


Syntaks:

svc.Forms(): str[0..*]

svc.Forms(form: str): svc

svc.Forms(form: int): svc

Parametrar:

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.

Eksempel:

I Basic

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()
  
I Python

    arrForms = formDoc.Forms()
    if "MainForm" in arrForms:
        # ...
  

    form = formDoc.Forms("MainForm")
    form.MoveLast()
  
tip

For Ä lÊra meir om skjema-metodar og -eigenskapar, sjÄ hjelpesidene til tenestaForm.


PrintOut

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.

Syntaks:

svc.PrintOut(pages: str = "", copies: int = 1, printbackground: bool = true, printblankpages: bool = false, printevenpages: bool = true, printoddpages: bool = true, printimages: bool = true): bool

Parametrar:

page: Sidene som skal skrivast ut som ein streng. Dette argumentet bĂžr gjevast pĂ„ same mĂ„te som i brukargrensesnittet (sjĂ„ dialogvindauget Fil → Skriv ut). 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).

Eksempel:

I Basic

    oFormDoc.PrintOut("1-4", Copies := 2, PrintBackground := False)
  
I Python

    formDoc.PrintOut("1-4", copies = 2, printbackground = False)
  
warning

Alle ScriptForge Basic-rutinane og -identifikatorane som vert innleidde med understrek «_» er reserverte for internt bruk. Dei er ikkje meint brukte i Basic-makroar.