SFDocuments.FormDocument-service

De service FormDocument biedt toegang tot formulierdocumenten die zijn opgeslagen in Collabora Office Base-documenten.

In een Base-document kunnen bestaande formulierdocumenten worden bekeken door in de gebruikersinterface Beeld - Formulieren te selecteren. Elk formulierdocument kan uit een of meer formulieren bestaan, inclusief het hoofdformulier en andere subformulieren.

Deze service neemt methoden en eigenschappen over van de service Document en wordt vaak gebruikt naast de services Base en Database.

tip

Raadpleeg de service Document voor meer informatie over methoden en eigenschappen die kunnen worden gebruikt om Collabora Office-documenten te beheren .


Service-aanroep

Voordat u de service FormDocument gebruikt, moet de bibliotheek ScriptForge worden geladen of geïmporteerd:

note

• Basic macro's kunnen de bibliotheek ScriptForge laden met de instructie:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

• Python scripts kunnen de module scriptforge importeren met:
from scriptforge import CreateScriptService


In BASIC

Een service-instantie FormDocument kan worden gemaakt door de methode OpenFormDocument aan te roepen die zowel in de services Base als Database voorkomt.

In het onderstaande voorbeeld wordt de service UI gebruikt om een Base-document te openen en vervolgens een formulierdocument op te halen. Merk op dat in dit voorbeeld zowel het Base-document als het formulierdocument worden geopend en op het scherm worden weergegeven.


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

In het volgende voorbeeld wordt de service Database gebruikt om het formulierdocument te openen. In dit geval wordt het basisbestand niet geopend en wordt alleen het formulierdocument weergegeven.


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

Als u OpenFormDocument aanroept voor een formulierdocument dat al geopend is, wordt het documentvenster geactiveerd en in beeld gebracht.


In Python

De bovenstaande voorbeelden kunnen als volgt naar Python worden vertaald:


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

Lijst met methoden in de service FormDocument

CloseDocument

Forms

PrintOut


CloseDocument

Sluit het formulierdocument waarnaar wordt verwezen door de instantie FormDocument. Retourneert True als het formulierdocument succesvol is afgesloten.

Syntaxis:

svc.CloseDocument(): bool

Voorbeeld:

In BASIC

    oFormDoc.CloseDocument()
  
In Python

    formDoc.CloseDocument()
  

Forms

Retourneert een matrix met de namen van de hoofdformulieren in het formulierdocument, of een service-instantie Formulier die naar een specifiek formulier verwijst.

Roep deze methode aan zonder argumenten om een op nul gebaseerde tekenreeksmatrix te verkrijgen met de namen van alle formulieren in het formulierdocument.

Geef een formuliernaam of index op als argument om een service-instantie Form te verkrijgen die overeenkomt met het opgegeven formulier.

note

Een formulierdocument heeft minimaal één hoofdformulier. Complexere formulierdocumenten kunnen uit meer dan één formulier en subformulieren bestaan.


Syntaxis:

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

svc.Forms(form: str): svc

svc.Forms(form: int): svc

Parameters:

formulier: Dit argument kan een tekenreeks zijn met de naam van een formulier dat in het formulierdocument bestaat, of de op nul gebaseerde index van het formulier dat moet worden geretourneerd. Als dit argument niet specifiek is, wordt een matrix met de naam van alle beschikbare formulieren geretourneerd.

Voorbeeld:

In BASIC

In het volgende voorbeeld wordt gecontroleerd of het formulierdocument een formulier bevat met de naam 'MainForm':


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

In het onderstaande voorbeeld wordt het formulier met de naam "MainForm" opgehaald en naar de laatste record verplaatst:


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

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

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

Voor meer informatie over formuliermethoden en -eigenschappen raadpleegt u de helppagina van de service Formulier.


PrintOut

Deze methode verzendt het inhoudsformulierdocument naar de standaardprinter of naar de printer die is gedefinieerd door de methode SetPrinter().

Retourneert True als het document met succes naar de printer is verzonden.

Syntaxis:

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

Parameters:

pagina's: de pagina's die als een tekenreeks moeten worden afgedrukt. Dit argument moet op dezelfde manier worden opgegeven als in de gebruikersinterface (zie het dialoogvenster Bestand - Afdrukken). Voorbeeld: "1-4;10;15-18". De standaardwaarde is een lege tekenreeks "", waardoor alle pagina's worden afgedrukt.

copies: Het aantal af te drukken exemplaren (standaard = 1).

printbackground: geeft aan of de achtergrondafbeelding moet worden afgedrukt (standaard = True).

printblankpages: geeft aan of blanco pagina's moeten worden afgedrukt (standaard = False).

printevenpages: geeft aan of even pagina's moeten worden afgedrukt (standaard = True).

printoddpages: geeft aan of oneven pagina's moeten worden afgedrukt (standaard = True).

printimages: specificeert of afbeeldingen moeten worden afgedrukt (standaard = True).

Voorbeeld:

In BASIC

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

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

Alle ScriptForge Basic-routines of variabelen die beginnen met een underscore "_" zijn voor intern gebruik. Gebruik deze niet in een Basic of Python-macro.


Help ons, alstublieft!