Hilfe für LibreOffice 24.8
Der Dienst FormDocument ermöglicht den Zugriff auf Formulardokumente, die in Dokumenten für LibreOffice Base gespeichert sind.
In einem Base-Dokument können vorhandene Formulardokumente angezeigt werden, indem Sie in der Benutzeroberfläche wählen. Jedes Formulardokument kann aus einem oder mehreren Formularen bestehen, einschließlich des Hauptformulars und anderer Unterformulare.
Dieser Dienst erbt Methoden und Eigenschaften vom Dienst Document und wird häufig zusammen mit den Diensten Base und Database verwendet.
Weitere Informationen zu Methoden und Eigenschaften, die zum Verwalten von LibreOffice-Dokumenten verwendet werden können, finden Sie im Dienst Document .
Vor der Nutzung des Dienstes FormDocument muss die Bibliothek ScriptForge geladen oder importiert werden:
Eine Dienstinstanz FormDocument kann durch Aufrufen der Methode OpenFormDocument erstellt werden, die sowohl im Dienst Base als auch in Database vorhanden ist.
Im folgenden Beispiel wird der Dienst UI verwendet, um ein Basisdokument zu öffnen und dann ein Formulardokument abzurufen. Beachten Sie, dass in diesem Beispiel sowohl das Base-Dokument als auch das Formulardokument geöffnet und auf dem Bildschirm angezeigt werden.
    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()
  Im folgenden Beispiel wird der Dienst Database verwendet, um das Formulardokument zu öffnen. In diesem Fall wird die Base-Datei nicht geöffnet und nur das Formulardokument angezeigt.
    Dim oDatabase As Object, oFormDoc As Object
    oDatabase = CreateScriptService("Database", "C:\Documents\MyDatabase.odb")
    oFormDoc = oDatabase.OpenFormDocument("MyFormDocument")
  Durch den Aufruf von OpenFormDocument für ein bereits geöffnetes Formulardokument wird das Dokumentfenster aktiviert und in den Fokus gerückt.
Die obigen Beispiele können wie folgt in Python übersetzt werden:
    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 der Methoden im Dienst "FormDocument" | ||
|---|---|---|
Schließt das Formulardokument, auf das von der Instanz FormDocument verwiesen wird. Gibt True zurück, wenn das Formulardokument erfolgreich geschlossen wurde.
svc.CloseDocument(): bool
    oFormDoc.CloseDocument()
  
    formDoc.CloseDocument()
  Gibt entweder eine Matrix mit den Namen der im Formulardokument enthaltenen Hauptformulare oder eine Dienstinstanz Form zurück, die auf ein bestimmtes Formular verweist.
Rufen Sie diese Methode ohne Argumente auf, um eine nullbasierte Zeichenfolgenmatrix mit den Namen aller im Formulardokument enthaltenen Formulare zu erhalten.
Geben Sie einen Formularnamen oder ein Index als Argument an, um eine Dienstinstanz Form zu erhalten, die dem angegebenen Formular entspricht.
Ein Formulardokument verfügt über mindestens ein Hauptformular. Komplexere Formulardokumente können aus mehr als einem Formular und Unterformularen bestehen.
svc.Forms(): str[0..*]
svc.Forms(form: str): svc
svc.Forms(form: int): svc
form: Dieses Argument kann entweder eine Zeichenfolge mit dem Namen eines Formulars sein, das im Formulardokument vorhanden ist, oder der nullbasierte Index des Formulars, das zurückgegeben werden soll. Wenn dieses Argument nicht spezifisch ist, wird eine Matrix mit den Namen aller verfügbaren Formulare zurückgegeben.
Das folgende Beispiel prüft, ob das Formulardokument ein Formular mit dem Namen "MainForm" enthält:
    arrForms = oFormDoc.Forms()
    If SF_Array.Contains(arrForms, "MainForm") Then
        ' ...
    End If
  Das folgende Beispiel ruft das Formular mit dem Namen "MainForm" ab und verschiebt es in den letzten Datensatz:
    Dim oForm As Object
    oForm = oFormDoc.Forms("MainForm")
    oForm.MoveLast()
  
    arrForms = formDoc.Forms()
    if "MainForm" in arrForms:
        # ...
  
    form = formDoc.Forms("MainForm")
    form.MoveLast()
  Weitere Informationen zu Formularmethoden und -eigenschaften finden Sie auf der Hilfeseite zum Dienst Form.
Diese Methode sendet den Inhalt des Dokuments an den Standarddrucker oder an den durch die Methode SetPrinter() definierten Drucker.
Gibt True zurück, wenn das Dokument erfolgreich an den Drucker gesendet wurde.
svc.PrintOut(pages: str = "", copies: int = 1, printbackground: bool = true, printblankpages: bool = false, printevenpages: bool = true, printoddpages: bool = true, printimages: bool = true): bool
pages: Die Seiten als Zeichenfolge, die gedruckt werden sollen. Dieses Argument sollte auf die gleiche Weise wie in der Benutzeroberfläche angegeben werden (siehe Dialog unter ). Beispielsweise: "1-4;10;15-18". Der Standardwert ist eine leere Zeichenfolge "", die bewirkt, dass alle Seiten gedruckt werden.
copies: Die Anzahl der zu druckenden Kopien (Standard = 1).
printbackground: Legt fest, ob das Hintergrundbild gedruckt werden soll (Standard = "True").
printblankpages: Legt fest, ob leere Seiten gedruckt werden sollen (Standard = "False").
printevenpages: Legt fest, ob gerade Seiten gedruckt werden sollen (Standard = "True").
printoddpages: Legt fest, ob ungerade Seiten gedruckt werden sollen (Standard = "True").
printimages: Legt fest, ob Bilder gedruckt werden sollen (Standard = "True").
    oFormDoc.PrintOut("1-4", Copies := 2, PrintBackground := False)
  
    formDoc.PrintOut("1-4", copies = 2, printbackground = False)