SFDocuments.Form Dokument tjeneste

SFDocuments.FormDocument-tjeneste

Tjenesten FormDocument gir tilgang til skjemadokumenter som er lagret i Collabora Office Base-dokumenter.

I et Base dokument kan eksisterende skjemadokumenter vises ved å velge Vis - Skjemaer i brukergrensesnittet. Hvert skjemadokument kan være sammensatt av ett eller flere skjemaer, inkludert hovedskjemaet og andre underskjemaer.

Denne tjenesten arver metoder og egenskaper fra Dokument-tjenesten og brukes ofte sammen med tjenestene Base og Database.

tip

Se Dokument-tjenesten for å lære mer om metoder og egenskaper som kan brukes til å administrere Collabora Office-dokumenter .


Tjenestepåkallelse

Før du bruker FormDocument-tjenesten, må ScriptForge-biblioteket lastes eller importeres:

note

• Grunnleggende makroer krever å laste ScriptForge-biblioteket ved hjelp av følgende setning:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

• Python-skript krever import fra scriptforge-modulen:
fra scriptforge import CreateScriptService


I Basic

En FormDocument tjenesteforekomst kan opprettes ved å kalle metoden OpenFormDocument som finnes både i Base og Database-tjenestene.

Eksemplet nedenfor bruker UI-tjenesten til å åpne et basisdokument og deretter hente et skjemadokument. Merk at i dette eksemplet vil både basisdokumentet og skjemadokumentet bli åpnet og 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()
  

Følgende eksempel bruker Database-tjenesten for å åpne skjemadokumentet. I dette tilfellet vil ikke Base-filen bli åpnet og kun skjemadokumentet vises.


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

Å kalle OpenFormDocument for et skjemadokument som allerede er åpent vil aktivere dokumentvinduet og bringe det til fokus.


I Python

Eksemplene ovenfor kan oversettes 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 FormDocument Tjenesten

CloseDocument

Forms

PrintOut


CloseDocument

Lukker skjemadokumentet det refereres til av FormDocument-forekomsten. Returnerer Sann hvis skjemadokumentet ble lukket.

Syntaks:

svc.CloseDocument(): bool

Eksempel:

I Basic

    oFormDoc.CloseDocument()
  
I Python

    formDoc.CloseDocument()
  

Forms

Returnerer enten en matrise med navnene på hovedskjemaene i skjemadokumentet eller en Form tjenesteforekomst som refererer til et spesifikt skjema.

Kall denne metoden uten argumenter for å få en nullbasert strengmatrise med navnene på alle skjemaene i skjemadokumentet.

Oppgi et skjemanavn eller en indeks som argument for å få en Form-tjenesteforekomst som tilsvarer det angitte skjemaet.

note

Et skjemadokument har minst én hovedform. Mer komplekse skjemadokumenter kan være sammensatt av mer enn ett skjema og underskjemaer.


Syntaks:

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

svc.Forms(form: str): svc

svc.Forms(form: int): svc

Parametre:

skjema: Dette argumentet kan enten være en streng med navnet på et skjema som finnes i skjemadokumentet eller den nullbaserte indeksen til skjemaet som skal returneres. Hvis dette argumentet ikke er spesifikt, returneres en matrise med navnet på alle tilgjengelige skjemaer.

Eksempel:

I Basic

Følgende eksempel sjekker om skjemadokumentet inneholder et skjema kalt "MainForm":


    arrForms = oFormDoc.Forms()
    If SF_Array.Contains(arrForms, "MainForm") Then
        ' ...
    End If
  

Eksemplet nedenfor henter skjemaet kalt "MainForm" og flytter det til siste post:


    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ære mer om skjemametoder og egenskaper, se Form-tjenestehjelpesiden.


PrintOut

Denne metoden sender innholdsskjemadokumentet til standardskriveren eller til skriveren definert av SetPrinter()-metoden.

Returnerer Sann hvis dokumentet ble sendt til skriveren.

Syntaks:

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

Parametre:

sider: Sidene som skal skrives ut som en streng. Dette argumentet bør spesifiseres på samme måte som i brukergrensesnittet (se dialogboksen Fil - Skriv ut). Eksempel: "1-4;10;15-18". Standardverdien er en tom streng "" som vil føre til at alle sider skrives ut.

kopier: Antall kopier som skal skrives ut (standard = 1).

printbackground: angir om bakgrunnsbildet skal skrives ut (Standard = Sann).

printblankpages: angir om tomme sider skal skrives ut (Standard = Usann).

printevenpages: angir om partallssider skal skrives ut (Standard = Sann).

printoddpages: angir om oddetallssider skal skrives ut (Standard = Sann).

printimages: angir om bilder skal skrives 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 Grunnleggende rutiner eller identifikatorer som er prefikset med et understrekingstegn "_" er reservert for intern bruk. De er ikke ment å brukes i grunnleggende makroer eller Python-skript.


Supporter oss!