Vsebina

# Storitev SFDocuments.FormDocument

Storitev FormDocument omogoča dostop do dokumentov obrazcev, shranjenih v dokumentih LibreOffice Base.

V dokumentu Base lahko pogledate obstoječe dokumente obrazca z izbiro Pogled – Obrazci v uporabniškem vmesniku. Vsak dokument obrazca je lahko sestavljen iz enega ali več obrazcev, vključno z glavnim obrazcem ter drugimi podobrazci.

Ta storitev deduje metode in lastnosti storitve Document in je pogosto uporabljena skupaj s storitvama Base in Database.

Preberite si opis storitve Document, da izveste več o metodah in lastnostih, ki jih lahko uporabite za upravljanje dokumentov LibreOffice.

## Priklic storitve

Pred uporabo storitve FormDocument je potrebno naložiti ali uvoziti knjižnico ScriptForge:

• Za makre Basic mora biti naložena knjižnica ScriptForge z naslednjim ukazom:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Za skripte Python mora biti opravljen uvoz iz modula scriptforge:
from scriptforge import CreateScriptService

##### V Basicu

Instanco storitve FormDocument lahko ustvarite s klicem metode OpenFormDocument, ki obstaja v storitvah Base in Database.

Spodnji primer uporablja storitev UI za odprtje dokumenta Base in nato za pridobitev dokumenta obrazca. Upoštevajte, da se v tem primeru odpreta in na zaslonu prikažeta tako dokument Base kot dokument obrazca.

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

Spodnji primer uporablja storitev Database za odprtje dokumenta obrazca. Upoštevajte, da se v tem primeru datoteka ne bo odprla in na zaslonu bo prikazan samo dokument obrazca.

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

S klicem OpenFormDocument za dokument obrazca, ki je že odprt, aktivirate okno dokumenta in ga postavite v ospredje (dobi pozornost).

##### V Pythonu

Zgornje primere lahko prevedemo v Python na sledeč način:

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

Seznam metod storitve FormDocument
CloseDocument Forms | GetDatabase | PrintOut

## CloseDocument

Zapre dokument obrazca, na katerega se sklicuje instanca FormDocument. Vrne True, če je zapiranje dokumenta obrazca uspelo.

### Skladnja:

svc.CloseDocument(): bool

### Primer:

##### V Basicu

        oFormDoc.CloseDocument()

##### V Pythonu

        formDoc.CloseDocument()

## Forms

Vrne polje z imeni glavnih obrazcev, vsebovanih v dokumentu obrazca, ali instanco storitve Form, ki se sklicuje na določen obrazec.

To metodo kličite brez argumentov, če želite dobiti ničelno polje nizov z imeni vseh obrazcev, vsebovanih v dokumentu obrazca.

Kot argument navedite ime obrazca ali njegov indeks, da dobite instanco storitve Form, ki ustreza navedenemu obrazcu.

Dokument obrazca vsebuje vsaj en glavni obrazec. Zapletenejše dokumente obrazcev lahko sestavlja več obrazcev in podobrazcev.

### Skladnja:

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

svc.Forms(form: str): svc

svc.Forms(form: int): svc

### Parametri:

form: ta argument je lahko niz z imenom obrazca, ki obstaja v dokumentu obrazca, ali indeks obrazca, ki bo vrnjen, ki se šteje od nič naprej. Če ta argument ni določen, vrne polje z imeni vseh razpoložljivih obrazcev.

### Primer:

##### V Basicu

Naslednji primer preveri, če dokument obrazca vsebuje obrazec z imenom »MainForm«:

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

Spodnji primer pridobi obrazec z imenom »MainForm« in ga premakne na zadnji zapis:

        Dim oForm As Object
        oForm = oFormDoc.Forms("MainForm")
        oForm.MoveLast()

##### V Pythonu

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

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

Če želite izvedeti več o metodah in lastnostih obrazca, glejte stran pomoči storitve Form.

### GetDatabase

Vrne instanco SFDatabases.Database, ki ponuja dostop do izvajanja ukazov SQL z zbirko podatkov, s katero je povezan trenutni obrazec in/ali ki je shranjena v trenutnem dokumentu programa Base.

Vsak obrazec ima svojo povezavo z zbirko podatkov, razen dokumentov programa Base, kjer si vsi delijo isto povezavo.

### Skladnja:

svc.GetDatabase(opt user: str, opt password: str): svc

### Parametri:

user, password: parametra prijave (uporabniško ime in geslo; privzeto = "").

### Primer:

          Dim myDb As Object ' SFDatabases.Database
          Set myDb = oForm.GetDatabase()

##### V Pythonu

          db = form.GetDatabase()  # SFDatabases.Database

## PrintOut

Ta metoda pošlje vsebino dokumenta obrazca privzetemu tiskalniku ali tiskalniku, ki ga določa metoda SetPrinter().

Vrne True, če je bil dokument uspešno poslan tiskalniku.

### Skladnja:

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

### Parametri:

pages: strani za tiskanje, podane kot niz. Ta argument je treba navesti na enak način kot v uporabniškem vmesniku (glejte pogovorno okno Datoteka – Natisni). Primer: "1-4;10;15-18". Privzeta vrednost je prazen niz (""), zaradi česar se natisnejo vse strani.

copies: število kopij, ki jih želite natisniti. Privzeto ima vrednost 1.

printbackground: natisne sliko ozadja, če ima vrednost True (privzeto).

printblankpages: določa, ali naj natisne prazne strani (privzeta vrednost je False).

printevenpages: določa, ali naj natisne sode strani (privzeta vrednost je True).

printoddpages: določa, ali naj natisne lihe strani (privzeta vrednost je True).

printimages: določa, ali naj natisne slike (privzeta vrednost je True).

### Primer:

##### V Basicu

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

##### V Pythonu

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

Vsi podprogrami ali identifikatorji ScriptForge Basic s predpono podčrtaja (»_«) so rezervirani za interno uporabo. Uporabi v makrih Basic ali skriptih Python niso namenjeni.

Podobne teme

Storitev SFDocuments.Base

Storitev SFDatabases.Database

Storitev SFDocuments.Document

Storitev SFDocuments.Form

Storitev ScriptForge.UI

Podprite nas!