Inhalte

# Dienst SFDocuments.Writer

Die gemeinsam genutzte Bibliothek SFDocuments bietet eine Reihe von Methoden und Eigenschaften, um die Verwaltung und Handhabung von LibreOffice-Dokumenten zu erleichtern.

Einige Methoden sind generisch für alle Arten von Dokumenten und werden vom Modul SF_Document geerbt, während andere Methoden, die spezifisch für Writer-Dokumente sind, im Modul SF_Writer definiert sind.

## Dienstaufruf

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

• 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

Der Dienst Writer ist eng mit dem Dienst UI der Bibliothek ScriptForge verwandt. Unten sind einige Beispiele dafür, wie der Dienst Writer aufgerufen werden kann.

##### In Basic

Der folgende Codeschnipsel erstellt eine Dienstinstanz Writer, die dem derzeit aktiven Writer-Dokument entspricht.

        Dim oDoc As Object
        Set oDoc = CreateScriptService("SFDocuments.Writer", "Untitled 1") ' Default = ActiveWindow

Eine andere Möglichkeit, eine Instanz des Dienstes Writer zu erstellen, ist die Verwendung des Dienstes UI. Im folgenden Beispiel wird ein neues Writer-Dokument erstellt und oDoc ist eine Dienstinstanz Writer:

        Dim ui As Object, oDoc As Object
        Set ui = CreateScriptService("UI")
        Set oDoc = ui.CreateDocument("Writer")

Oder verwenden Sie die Methode OpenDocument des Dienstes UI:

        Set oDoc = ui.OpenDocument("C:\Me\MyFile.odt")

Es ist auch möglich, den Dienst Writer mit der Methode CreateScriptService zu instanziieren:

        Dim oDoc As Object
        Set oDoc = CreateScriptService("SFDocuments.Writer", "MyFile.odt")

Im obigen Beispiel ist "MyFile.odt" der Name eines geöffneten Dokumentfensters. Wenn dieses Argument nicht angegeben wird, wird das aktive Fenster berücksichtigt.

Es wird empfohlen, Ressourcen nach der Verwendung freizugeben:

        Set oDoc = oDoc.Dispose()

Wenn das Dokument jedoch mit der Methode CloseDocument geschlossen wurde, ist es unnötig, Ressourcen mit dem oben beschriebenen Befehl freizugeben.

##### In Python

        myDoc = CreateScriptService("Writer") ' Default = ActiveWindow

        ui = CreateScriptService("UI")
        myDoc = ui.CreateDocument("Writer")

        myDoc = ui.OpenDocument(r"C:\Documents\MyFile.odt")

        myDoc = CreateScriptService("SFDocuments.Writer", "MyFile.odt")
        myDoc.Dispose()

Die Verwendung des Präfixes "SFDocuments." beim Aufruf des Dienstes ist optional.

## Definitionen

## Eigenschaften

## Methoden

Liste der Methoden im Dienst Writer
Forms | ImportStylesFromFile | PrintOut

## Forms

Abhängig von den bereitgestellten Parametern gibt diese Methode Folgendes zurück:

- Eine nullbasierte Matrix (oder ein Tupel in Python) mit den Namen aller im Dokument enthaltenen Formulare (wenn das Argument form fehlt)

- Eine Serviceinstanz SFDocuments.Form, die das als Argument angegebene Formular darstellt.

Diese Methode gilt nur für Writer-Dokumente. Calc- und Base-Dokumente haben ihre eigene Methode Forms in den Diensten Calc und Base.

### Syntax:

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

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

svc.Forms(form: int): svc

### Parameter:

form: Der Name oder Index, der einem im Dokument gespeicherten Formular entspricht. Fehlt dieses Argument, gibt die Methode eine Liste mit den Namen aller im Dokument verfügbaren Formulare zurück.

### Beispiel:

In den folgenden Beispielen erhält die erste Zeile die Namen aller Formulare im Dokument und die zweite Zeile das Objekt Form des Formulars mit dem Namen "Form_A".

##### In Basic

        Set FormNames = oDoc.Forms()
        Set FormA = oDoc.Forms("Form_A")

##### In Python

        form_names = doc.Forms()
        form_A = doc.Forms("Form_A")

## ImportStylesFromFile

Diese Methode lädt alle zu einer oder mehreren Vorlagenfamilien gehörenden Formatvorlagen aus einer geschlossenen Datei in das eigentliche Dokument. Das eigentliche Dokument muss ein Calc- oder Writer-Dokument sein.

Werden immer zusammen importiert:

- ParagraphStyles und CharacterStyles

- NumberingStyles und ListStyles

Gibt True zurück, wenn Formatvorlagen erfolgreich importiert wurden.

### Syntax:

svc.ImportStylesFromFile(filename: str, families: str[1..*], overwrite = False): bool

### Parameter:

filename: Die Datei in der Notation FileSystem, aus der die Formatvorlagen geladen werden sollen. Es wird davon ausgegangen, dass die Datei vom gleichen Dokumenttyp ist wie das eigentliche Dokument.

families: Eine der im eigentlichen Dokument vorhandenen Vorlagenfamilien, als Zeichenfolge mit Berücksichtigung der Groß- und Kleinschreibung oder als Matrix solcher Zeichenfolgen. Lassen Sie dieses Argument leer, um alle Familien zu importieren.

overwrite: Wenn True, werden die vorhandenen Formatvorlagen gegebenenfalls überschrieben. Der Standardwert ist False.

### Beispiel:

##### In Basic

        oDoc.ImportStylesFromFile("C:\User\Documents\myFile.ods", "ParagraphStyles", True)

##### In Python

        doc.ImportStylesFromFile('C:\User\Documents\myFile.ods', ("ParagraphStyles",), False)

## PrintOut

Sendet den Inhalt des Dokuments an den Drucker. Der Drucker kann zuvor standardmäßig, vom Benutzer oder über die Methode SetPrinter des Dienstes Document definiert werden. Gibt bei Erfolg True zurück.

### Syntax:

svc.PrintOut(opt pages: str = "", opt copies: num = 1, opt printbackground: bool = True, opt printblankpages: bool = False, opt printevenpages: bool = True, opt printoddpages: bool = True, opt printimages: bool = True): bool

### Parameter:

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

copies: Die Anzahl der Kopien, Standard ist 1.

printbackground: Druckt das Hintergrundbild, wenn True (Standard).

printblankpages: Wenn False (Standard), werden leere Seiten weggelassen.

printevenpages: Druckt gerade Seiten, wenn True (Standard).

printoddpages: Ungerade Seiten drucken, wenn True (Standard).

printimages: Grafikobjekte drucken, wenn True (Standard).

### Beispiel:

##### In Basic

          oDoc.PrintOut("1-4;10;15-18", Copies := 2, PrintImages := False)

##### In Python

        doc.PrintOut(printblankpages = True, copies = 3)

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.

Verwandte Themen

Dienst SFDocuments.Document

Dienst ScriptForge.UI