LibreOffice 25.2 Help
De service FormDocument biedt toegang tot formulierdocumenten die zijn opgeslagen in LibreOffice Base-documenten.
In een Base-document kunnen bestaande formulierdocumenten worden bekeken door in de gebruikersinterface te selecteren. Elk formulierdocument kan uit een of meer formulieren bestaan, inclusief het hoofdformulier en andere subformulieren.
Deze service neemt methodes en eigenschappen over van de service Document en wordt vaak gebruikt naast de services Base en Database.
Raadpleeg de service Document voor meer informatie over methodes en eigenschappen die kunnen worden gebruikt om LibreOffice-documenten te beheren .
Voordat u de service FormDocument gebruikt, moet de bibliotheek ScriptForge worden geladen of geïmporteerd:
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")
  Als u OpenFormDocument aanroept voor een formulierdocument dat al geopend is, wordt het documentvenster geactiveerd en in beeld gebracht.
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 methodes in de service FormDocument | ||
|---|---|---|
Sluit het formulierdocument waarnaar wordt verwezen door de instantie FormDocument. Retourneert True als het formulierdocument succesvol is afgesloten.
svc.CloseDocument(): bool
    oFormDoc.CloseDocument()
  
    formDoc.CloseDocument()
  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.
Een formulierdocument heeft minimaal één hoofdformulier. Complexere formulierdocumenten kunnen uit meer dan één formulier en subformulieren bestaan.
svc.Forms(): str[0..*]
svc.Forms(form: str): svc
svc.Forms(form: int): svc
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.
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()
  
    arrForms = formDoc.Forms()
    if "MainForm" in arrForms:
        # ...
  
    form = formDoc.Forms("MainForm")
    form.MoveLast()
  Voor meer informatie over formuliermethodes en -eigenschappen raadpleegt u de helppagina van de service Formulier.
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.
svc.PrintOut(pages: str = "", copies: int = 1, printbackground: bool = true, printblankpages: bool = false, printevenpages: bool = true, printoddpages: bool = true, printimages: bool = true): bool
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 ). 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).
    oFormDoc.PrintOut("1-4", Copies := 2, PrintBackground := False)
  
    formDoc.PrintOut("1-4", copies = 2, printbackground = False)