Dienst SFDocuments.Base

Der Dienst Base bietet eine Reihe von Methoden und Eigenschaften, um die Verwaltung und Handhabung von LibreOffice Base-Dokumenten zu erleichtern.

Dieser Dienst ist eng mit dem Dienst Document verbunden, der generische Methoden zur Handhabung von LibreOffice-Dokumenten, einschlie√ülich Basisdokumenten, bereitstellt. Daher erweitert der Dienst Base den Dienst Document und stellt zus√§tzliche Methoden bereit, die spezifisch f√ľr Base-Dokumente sind und Benutzern Folgendes erm√∂glichen:

tip

Weitere Informationen zu Methoden und Eigenschaften, die zum Verwalten von LibreOffice-Dokumenten verwendet werden können, finden Sie im Dienst Document.


Dienstaufruf

Vor der Verwendung des Dienstes Base muss die Bibliothek ScriptForge geladen oder importiert werden:

note

‚ÄĘ Grundlegende Makros erfordern das Laden der Bibliothek ScriptForge mit der folgenden Anweisung:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

‚ÄĘ Python-Skripte erfordern einen Import aus dem Modul scriptforge:
from scriptforge import CreateScriptService


In Basic

Der Base-Dienst kann auf verschiedene Arten aufgerufen werden. Der folgende Code-Schnipsel verwendet die Methode CreateBaseDocument des Dienstes UI, um eine neue Base-Datei zu erstellen.

Beachten Sie, dass in allen Beispielen das Objekt oDoc eine Instanz des Dienstes Base ist.


    Dim ui As Object, oDoc As Object
    Set ui = CreateScriptService("UI")
    Set oDoc = ui.CreateBaseDocument("C:\Documents\MyFile.odb")
  

Der Dienst Base kann auch instanziiert werden, während eine vorhandene Base-Datei geöffnet wird, wie unten gezeigt:


    Set oDoc = ui.OpenBaseDocument("C:\Documents\MyFile.odb")
  

Wenn bereits ein Base-Dokument geöffnet ist, kann der Dienst Base direkt instanziiert werden:


    Dim oDoc As Object
    Set oDoc = CreateScriptService("SFDocuments.Document", "MyFile.odb")
  
In Python

Die obigen Beispiele k√∂nnen wie folgt in Python √ľbersetzt werden:


    from scriptforge import CreateScriptService
    ui = CreateScriptService("UI")
    doc = ui.CreateBaseDocument(r"C:\Documents\MyFile.odb")
  

    doc = ui.OpenBaseDocument(r"C:\Documents\MyFile.odb")
  

    doc = CreateScriptService("SFDocuments.Document", "MyFile.odb")
  
note

Die Verwendung der Teilzeichenfolge "SFDocuments." im vorherigen Beispiel ist optional.


Liste der Methoden im Dienst Base

CloseFormDocument
FormDocuments
Forms

GetDatabase
IsLoaded
OpenFormDocument

PrintOut
SetPrinter


CloseFormDocument

Schlie√üt das angegebene Formulardokument. Gibt True zur√ľck, wenn das Schlie√üen erfolgreich war.

Syntax:

svc.CloseFormDocument(formdocument: str): bool

Parameter:

formdocument: Der Name des Formulardokuments, das geschlossen werden soll, als Zeichenfolge mit Ber√ľcksichtigung der Gro√ü- und Kleinschreibung.

Beispiel:

Wenn Formulardokumente in Ordnern organisiert sind, muss der Ordnername angegeben werden, um das zu öffnende Formulardokument anzugeben, wie in den folgenden Beispielen dargestellt:

In Basic

    oDoc.CloseFormDocument("Folder1/myFormDocument")
  
In Python

    doc.CloseFormDocument('Folder1/myFormDocument')
  

FormDocuments

Gibt eine Matrix mit den vollst√§ndigen Namen (Pfad / Name) aller Formulardokumente im Base-Dokument als nullbasierte Matrix von Zeichenfolgen zur√ľck.

Syntax:

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

Beispiel:

Der folgende Code-Schnipsel gibt die Namen aller Formulardokumente im aktuellen Base-Dokument aus.

In Basic

    Dim oDoc as Object, myForms as Object, formName as String
    Set oDoc = CreateScriptService("Document", ThisDataBaseDocument)
    Set myForms = oDoc.FormDocuments()
    For Each formName In myForms
        MsgBox formName
    Next formName
  
In Python

    bas = CreateScriptService("Basic")
    doc = CreateScriptService("Document", bas.ThisDataBaseDocument)
    myForms = doc.FormDocuments()
    for formName in myForms:
        bas.MsgBox(formName)
  
tip

Weitere Informationen zu Formulardokumenten finden Sie auf der Hilfeseite des Dienstes Form.


Forms

Abh√§ngig von den bereitgestellten Parametern gibt diese Methode Folgendes zur√ľck:

Syntax:

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

svc.Forms(formdocument: str, form: str = ''): svc

svc.Forms(formdocument: str, form: int): svc

Parameter:

formdocument: Der Name eines g√ľltigen Formulardokuments als Zeichenfolge mit Ber√ľcksichtigung der Gro√ü- und Kleinschreibung.

form: Der Name oder die Indexnummer des im Formulardokument gespeicherten Formulars. Fehlt dieses Argument, gibt die Methode eine Liste mit den Namen aller im Formulardokument verf√ľgbaren Formulare zur√ľck.

note

Obwohl es möglich ist, auf Formulare mit Indexnummern zu verweisen, wird dies nur empfohlen, wenn es nur ein Formular im Formulardokument gibt. Wenn es zwei oder mehr Formulare gibt, ist es besser, stattdessen den Formularnamen zu verwenden.


Beispiel:

Die erste Zeile des folgenden Beispiels gibt eine Liste aller Formulare im Formulardokument "myFormDocument" zur√ľck. Die zweite Zeile gibt eine Instanz des Dienstes Form zur√ľck, die das Formular ‚ÄěmyForm‚Äú darstellt.

In Basic

    Dim formsList as Object : formsList = oDoc.Forms("myFormDocument")
    Dim oForm as Object : oForm = oDoc.Forms("myFormDocument", "myForm")
  
In Python

    formsList = doc.Forms("myFormDocument")
    form = doc.Forms("myFormDocument", "myForm")
  

GetDatabase

Gibt eine Instanz des Dienstes Database zur√ľck, welcher die Ausf√ľhrung von SQL-Befehlen auf der im aktuellen Basisdokument definierten und/oder gespeicherten Datenbank erm√∂glicht

Syntax:

svc.GetDatabase(user: str = '', password: str = ''): svc

Parameter:

user, password: Optionale Login-Parameter als Zeichenfolgen. Der Standardwert f√ľr beide Parameter ist eine leere Zeichenfolge "".

Beispiel:

In Basic

    Dim myDoc As Object, myDatabase As Object, ui As Object
    Set ui = CreateScriptService("UI")
    Set myDoc = ui.OpenBaseDocument("C:\Documents\myDb.odb")
    ' Benutzer und Kennwort werden unten angegeben, falls erforderlich
    Set myDatabase = myDoc.GetDatabase()
    ' ‚Ķ Ausf√ľhrung von Abfragen, SQL-Anweisungen, ‚Ķ
    myDatabase.CloseDatabase()
    myDoc.CloseDocument()
  
In Python

    ui = CreateScriptService("UI")
    myDoc = ui.OpenBaseDocument(r"C:\Documents\myDb.odb")
    myDatabase = myDoc.GetDatabase()
    # ‚Ķ Ausf√ľhren von Abfragen, SQL-Anweisungen, ‚Ķ
    myDatabase.CloseDatabase()
    myDoc.CloseDocument()
  

IsLoaded

Gibt True zur√ľck, wenn das angegebene FormDocument derzeit ge√∂ffnet ist.

Syntax:

svc.IsLoaded(formdocument: str): bool

Parameter:

formdocument: Der Name eines zu pr√ľfenden FormDocument, als Gro√ü-/Kleinschreibung beachtende Zeichenfolge.

Beispiel:

In Basic

    If Not oDoc.IsLoaded("myFormDocument") Then
        oDoc.OpenFormDocument("myFormDocument")
    End If
  
In Python

    if not doc.IsLoaded("myFormDocument"):
        doc.OpenFormDocument("myFormDocument")
  

OpenFormDocument

√Ėffnet das angegebene FormDocument entweder im normalen oder im Entwurfsmodus.

Wenn das Formulardokument bereits ge√∂ffnet ist, wird es aktiviert, ohne seinen Modus zu √§ndern. Die Methode gibt True zur√ľck, wenn das Formulardokument ge√∂ffnet werden konnte.

Syntax:

svc.OpenFormDocument(formdocument: str, designmode: bool = False): bool

Parameter:

formDocument: Der Name des zu √∂ffnenden FormDocument als Gro√ü- und Kleinschreibung ber√ľcksichtigende Zeichenfolge.

designmode: Wenn dieses Argument True ist, wird das FormDocument im Designmodus geöffnet.

Beispiel:

In Basic

Die meisten Formulardokumente werden im Stammverzeichnis des Base-Dokuments gespeichert und können einfach anhand ihres Namens geöffnet werden, wie im folgenden Beispiel:


    oDoc.OpenFormDocument("myFormDocument")
  

Wenn Formulardokumente in Ordnern organisiert sind, muss der Ordnername angegeben werden, um das zu öffnende Formulardokument anzugeben, wie im folgenden Beispiel dargestellt:


    oDoc.OpenFormDocument("myFolder/myFormDocument")
  
In Python

    doc.OpenFormDocument("myFormDocument")
  

    doc.OpenFormDocument("myFolder/myFormDocument")
  

PrintOut

Diese Methode sendet den Inhalt des angegebenen Formulardokuments an einen Standarddrucker oder einen durch die Methode SetPrinter() definierten Drucker.

Gibt True zur√ľck, wenn das Dokument erfolgreich gedruckt wurde.

Syntax:

svc.PrintOut(opt formdocument: str, pages: str = "", copies: num = 1): bool

Parameter:

formdocument: Ein g√ľltiger Name des Dokumentformulars als Zeichenfolge mit Beachtung der Gro√ü- und Kleinschreibung. Das Formulardokument muss ge√∂ffnet sein. Es wird durch die Methode aktiviert.

pages: Die Seiten, die gedruckt werden sollen, als Zeichenfolge wie in der Benutzeroberfläche. Beispiel: "1-4;10;15-18". Standard ist alle Seiten.

copies: Die Anzahl der Kopien. Standard ist 1.

Beispiel:

In Basic

    If oDoc.PrintOut("myForm", "1-4;10;15-18", Copies := 2) Then
        ' ...
    End If
  
In Python

    if doc.PrintOut('myForm', copies=3, pages='45-88'):
        # ...
  

SetPrinter

Legen Sie die Druckeroptionen f√ľr ein Formulardokument fest. Das Formulardokument muss ge√∂ffnet sein.

Gibt bei Erfolg True zur√ľck.

Syntax:

svc.SetPrinter(opt formdocument: str, opt printer: str, opt orientation: str, paperformat: str): bool

Parameter:

formdocument: Ein g√ľltiger Name des Dokumentformulars als Zeichenfolge mit Beachtung der Gro√ü- und Kleinschreibung.

printer: Der Name der Druckerwarteschlange, auf der gedruckt werden soll. Bei Fehlen wird der Standarddrucker verwendet.

orientation: Entweder PORTRAIT oder LANDSCAPE. Wenn nicht vorhanden, wird in Bezug auf die Druckereinstellungen unverändert belassen.

paperformat: Gibt das Papierformat als Zeichenfolge an, der entweder A3, A4, A5, LETTER, LEGAL oder TABLOID sein kann. Bleibt bei Abwesenheit unverändert.

Beispiel:

In Basic

    oDoc.SetPrinter("myForm", Orientation := "PORTRAIT")
  
In Python

    doc.SetPrinter('myForm', paperformat='TABLOID')
  
warning

Alle ScriptForge Basic-Routinen oder Bezeichner, denen ein Unterstrich "_" vorangestellt ist, sind f√ľr den internen Gebrauch reserviert. Sie sind nicht f√ľr die Verwendung in Basic-Makros oder Python-Skripten vorgesehen.


Bitte unterst√ľtzen Sie uns!