Hilfe für LibreOffice 24.8
Die Bibliothek SFDocuments stellt Methoden und Eigenschaften bereit, um die Verwaltung und Bearbeitung von LibreOffice-Dokumenten zu erleichtern.
Der Dienst SFDocuments.Document stellt Methoden zur Verfügung, die für alle Arten von Dokumenten (Textdokumente, Blätter, Präsentationen, …) anwendbar sind. Einige Beispiele sind:
Dokumente öffnen, schließen und speichern
Zugriff auf standardmäßige oder benutzerdefinierte Eigenschaften von Dokumenten
Die mit (*) gekennzeichneten Eigenschaften, Methoden oder Argumente sind NICHT auf Basic-Dokumente anwendbar.
Methoden und Eigenschaften, die für bestimmte LibreOffice-Komponenten spezifisch sind, werden in separaten Diensten wie SFDocuments.SF_Calc und SFDocuments.SF_Base gespeichert.
Obwohl die Basic-Sprache keine Vererbung zwischen Objektklassen anbietet, können letztere Dienste als Unterklassen des Dienstes SFDocuments.Document betrachtet werden. Solche Unterklassen können die unten beschriebenen Eigenschaften und Methoden aufrufen.
Vor der Verwendung des Dienstes Document muss die Bibliothek ScriptForge geladen oder importiert werden:
Nachfolgend finden Sie drei Varianten, wie der Dienst Document aufgerufen werden kann.
Verwenden der Methode getDocument des Dienstes ScriptForge.UI:
    Dim ui As Object, oDoc As Object
    Set ui = CreateScriptService("UI")
    Set oDoc = ui.GetDocument("Untitled 1")
  Alternativ können Sie die Methoden CreateDocument und OpenDocument des Dienstes UI verwenden.
    Set oDocA = ui.CreateDocument("Calc")
    Set oDocB = ui.OpenDocument("C:\Documents\MyFile.odt")
  Verwenden eines Fensternamens, wenn das Dokument bereits geöffnet ist.
    Dim oDoc As Object
    Set oDoc = CreateScriptService("SFDocuments.Document", "Untitled 1") 'Default = ActiveWindow
  Verwenden des Dokuments, auf das von ThisComponent verwiesen wird. Dies ist besonders nützlich, wenn Sie ein Makro innerhalb der Basic-IDE ausführen.
    Dim oDoc As Object
    Set oDoc = CreateScriptService("Document", ThisComponent)
  Mit einem Makro, das durch ein Dokumentereignis ausgelöst wird.
    Sub RunEvent(ByRef poEvent As Object)
        Dim oDoc As Object
        Set oDoc = CreateScriptService("SFDocuments.DocumentEvent", poEvent)
        ' (...)
    End Sub
  Der Dienst Document ist eng mit den Diensten UI und FileSystem verwandt.
Außer wenn das Dokument per Programm mit der Methode "CloseDocument" geschlossen wurde (sie ist dann überflüssig), empfiehlt es sich, Ressourcen nach der Verwendung freizugeben:
    Set oDoc = oDoc.Dispose()
  
    from scriptforge import CreateScriptService
    ui = CreateScriptService("UI")
    doc = ui.GetDocument("Untitled 1")
    # (...)
    doc.Dispose()
  
    docA = ui.CreateDocument("Calc")
    docB = ui.OpenDocument("C:\Documents\MyFile.odt")
  
    doc = CreateScriptService("SFDocuments.Document", "Untitled 1")
  
    bas = CreateScriptService("Basic")
    doc = CreateScriptService("Document", bas.ThisComponent)
  
    def RunEvent(event)
        doc = CreateScriptService("SFDocuments.DocumentEvent", Event)
        # (...)
  Die Verwendung des Präfixes "SFDocuments." beim Aufruf des Dienstes ist optional.
| Name | Schreibgeschützt | Typ | Beschreibung | 
|---|---|---|---|
| CustomProperties (*) | Nein | Dictionary service | Gibt eine Objektinstanz ScriptForge.Dictionary zurück. Kann nach der Aktualisierung erneut an die Eigenschaft übergeben werden, um das Dokument zu aktualisieren. | 
| Description (*) | Nein | String | Ermöglicht den Zugriff auf die Beschreibungseigenschaft des Dokuments (auch bekannt als "Kommentare"). | 
| DocumentProperties (*) | Ja | Dictionary service | Gibt ein Objekt ScriptForge.Dictionary zurück, das alle Einträge enthält. Belegstatistiken sind enthalten. Beachten Sie, dass sie für den Dokumenttyp spezifisch sind. Beispielsweise enthält ein Calc-Dokument einen Eintrag "CellCount". Andere Dokumente nicht. | 
| DocumentType | Ja | String | Zeichenfolge mit dem Dokumenttyp ("Base", "Calc", "Writer", …) | 
| ExportFilters (*) | Ja | String array | Gibt eine Liste mit den auf das aktuelle Dokument anwendbaren Exportfilternamen als nullbasierte Zeichenfolgenmatrix zurück. Filter, die sowohl für den Import als auch für den Export verwendet werden, werden ebenfalls zurückgegeben. | 
| FileSystem | Ja | String | Gibt eine Zeichenfolge mit dem URL-Pfad zum Stammverzeichnis des virtuellen Dateisystems des Dokuments zurück. Verwendet den Dienst FileSystem, um seinen Inhalt anzuzeigen sowie darin gespeicherte Dateien zu erstellen, zu öffnen und zu lesen. Weitere Informationen zum Zugreifen auf und Bearbeiten von Ordnern und Dateien im virtuellen Dateisystem einer LibreOffice-Datei finden Sie auf dieser Hilfeseite. | 
| ImportFilters (*) | Ja | String array | Gibt eine Liste mit den für das aktuelle Dokument geltenden Importfilternamen als nullbasierte Zeichenfolgenmatrix zurück. Filter, die sowohl für den Import als auch für den Export verwendet werden, werden ebenfalls zurückgegeben. | 
| 
            IsBase | Ja | Boolean | Genau eine dieser Eigenschaften ist für ein bestimmtes Dokument True. | 
| Keywords (*) | Nein | String | Ermöglicht den Zugriff auf die Schlüsselwort-Eigenschaft des Dokuments. Dargestellt als durch Kommas getrennte Liste von Schlüsselwörtern | 
| Readonly (*) | Ja | Boolean | True, wenn das Dokument tatsächlich im schreibgeschützten Modus ist | 
| StyleFamilies (*) | Ja | String array | Liste der verfügbaren Vorlagenfamilien. Gilt für alle Dokumenttypen außer Base. | 
| Subject (*) | Nein | String | Ermöglicht den Zugriff auf die Themen-Eigenschaft des Dokuments. | 
| Title (*) | Nein | String | Ermöglicht den Zugriff auf die Titel-Eigenschaft des Dokuments. | 
| XComponent | Ja | UNO-Objekt | Das UNO-Objekt com.sun.star.lang.XComponent oder com.sun.star.comp.dba.ODatabaseDocument, welches das Dokument repräsentiert. | 
| XDocumentSettings (*) | Ja | UNO-Objekt | Ein UNO-Objekt com.sun.star.XXX.DocumentSettings, wobei XXX entweder sheet, text, drawing oder presentation ist. Dieses Objekt ermöglicht den Zugriff auf die internen UNO-Eigenschaften, die für den Dokumenttyp spezifisch sind. | 
Das folgende Beispiel druckt alle Eigenschaften eines Dokuments. Beachten Sie, dass das von der Methode UI.OpenDocument zurückgegebene Objekt oDoc ein Objekt vom Typ SFDocuments.Document ist.
    Dim ui as Variant : Set ui = CreateScriptService("UI")
    Dim oDoc as Object
    Set oDoc = ui.OpenDocument("C:\Documents\MyFile.ods")
    Dim propDict as Object
    Set propDict = oDoc.DocumentProperties
    Dim keys as Variant : propKeys = propDict.Keys
    Dim k as String, strProp as String
    For Each k In propKeys
        strProp = strProp & k & ": " & propDict.Item(k) & CHR$(10)
    Next k
    MsgBox strProp
    oDoc.CloseDocument()
  Um auf Dokumenteigenschaften in einem Python-Skript zuzugreifen, muss der Benutzer direkt mit seinen Namen darauf zugreifen, wie unten gezeigt:
    doc = ui.GetDocument(r"C:\Documents\MyFile.ods")
    msg = doc.Title + '\n' + doc.Description + '\n' + doc.Keywords
    bas = CreateScriptService("Basic")
    bas.MsgBox(msg)
    doc.CloseDocument()
  | Liste der Methoden im Dienst "Document" | ||
|---|---|---|
| 
             Activate | ||
Gibt True zurück, wenn das Dokument aktiviert werden konnte. Ansonsten ändert sich nichts an der eigentlichen Benutzeroberfläche. Sie entspricht der Methode Activate des Dienstes UI.
Diese Methode ist nützlich, wenn man den Fokus auf ein minimiertes oder ausgeblendetes Dokument legen muss.
svc.Activate(): bool
Das folgende Beispiel geht davon aus, dass die Datei "My_File.ods" bereits geöffnet, aber nicht aktiv ist.
    Dim oDoc As Object
    Set oDoc = CreateScriptService("Document", "MyFile.ods")
    oDoc.Activate()
  
    doc = CreateScriptService("Document", "MyFile.ods")
    doc.Activate()
  Denken Sie daran, dass Sie den Dienst Document aufrufen können, indem Sie entweder "Document" oder "SFDocuments.Document" an CreateScriptService übergeben.
Schließt das Dokument. Wenn das Dokument bereits geschlossen ist, hat diese Methode unabhängig davon, wie das Dokument geschlossen wurde, keine Auswirkung und gibt False zurück.
Die Methode gibt auch False zurück, wenn der Benutzer sich weigert, sie zu schließen.
Gibt True zurück, wenn das Dokument erfolgreich geschlossen wurde.
svc.CloseDocument(saveask: bool = True): bool
saveask: Wenn True (Standard), wird der Benutzer aufgefordert zu bestätigen, ob die Änderungen auf die Festplatte geschrieben werden sollen. Dieses Argument wird ignoriert, wenn das Dokument nicht geändert wurde.
    If oDoc.CloseDocument(True) Then
        ' ...
    End If
  
    if doc.CloseDocument(True):
        # ...
  Erstellt einen neuen Menüeintrag in der Menüleiste eines bestimmten Dokumentfensters.
Diese Methode gibt eine Instanz des Dienstes SFWidgets.Menu zurück.
Das erstellte Menü ist nur während der aktuellen LibreOffice-Sitzung verfügbar und wird weder im Dokument noch in den globalen Anwendungseinstellungen gespeichert. Wenn Sie also das Dokumentfenster schließen, verschwindet das Menü. Es wird erst wieder angezeigt, wenn das Makro, welches das Menü erstellt, erneut ausgeführt wird.
svc.CreateMenu(menuheader: str, [before: any], submenuchar: str = ">"): svc
menuheader: Der Name der obersten Ebene des neuen Menüs.
before: Der Name (als Zeichenfolge) oder die Position (als Integer, beginnend bei 1) eines bestehenden Menüs, vor dem das neue Menü platziert wird. Wenn für dieses Argument kein Wert definiert ist, wird das Menü an der letzten Position in der Menüleiste erstellt.
submenuchar: Das Trennzeichen, das zum Erstellen von Menübäumen verwendet wird, wenn Methoden wie AddItem vom Dienst Menu aufgerufen werden. Der Standardwert ist ">".
    Dim oDoc as Object, oMenu as Object
    Set oDoc = CreateScriptService("Document")
    Set oMenu = oDoc.CreateMenu("Mein Menü")
    With oMenu
        ' Elemente zum Menü hinzufügen
        .AddItem("Item A")
        .AddItem("Item B")
        ' ...
        ' Nach dem Erstellen des Menüs kann die Dienstinstanz beendet werden
        .Dispose()
    End With
  
    doc = CreateScriptService("Document")
    menu = doc.CreateMenu("Mein Menü")
    menu.AddItem("Item A")
    menu.AddItem("Item B")
    # ...
    menu.Dispose()
  Weitere Informationen zum Erstellen/Entfernen von Menüs in LibreOffice-Dokumentfenstern finden Sie auf der Hilfeseite SFWidgets.Menu.
Unterdrückt eine einzelne Formatvorlage oder eine Reihe von Formatvorlagen, die durch ihre Namen innerhalb einer bestimmten Vorlagenfamilie angegeben werden. Es können nur benutzerdefinierte Formatvorlagen gelöscht werden, integrierte Formatvorlagen werden ignoriert. Es gilt für alle Dokumenttypen außer Base und FormDocument.
svc.DeleteStyles(family: str, styleslist: str[1..*])
family: Eine der Vorlagenfamilien, die im eigentlichen Dokument vorhanden sind, als Zeichenfolge, bei der die Groß-/Kleinschreibung beachtet wird. Gültige Familiennamen können mit der Eigenschaft StyleFamilies abgerufen werden.
styleslist: Ein einzelner Vorlagenname als Zeichenfolge oder eine Matrix von Vorlagennamen. Die Vorlagennamen können lokalisiert sein oder nicht. StylesList ist normalerweise die Ausgabe der Ausführung einer Methode Styles().
    ' Entfernen nicht verwendeter Absatzvorlagen
    Const family = "ParagraphStyles"
    aList = oDoc.Styles(family, used := False, userDefined := True)
    oDoc.DeleteStyles(family, aList)
  
    # Entfernt Formatvorlagen entsprechend einem Präfix
    a_list = doc.Styles('ParagraphStyles', namepattern = "Py*")
    doc.Styles('ParagraphStyles', a_list)
  Unterbricht Aktualisierungen der Benutzeroberfläche (UI) während der Ausführung eines Makros. Optional kann der Mauszeiger in eine Sanduhr geändert werden, während UI-Aktualisierungen angehalten werden.
Diese Methode bietet möglicherweise einige Leistungsvorteile für Makros, die zahlreiche Vorgänge ausführen, die Aktualisierungen der Benutzeroberfläche erfordern.
svc.Echo(echoon: bool = True, hourglass: bool = False)
echoon: Geben Sie False an, um UI-Aktualisierungen anzuhalten. Der Standardwert ist True, wodurch Aktualisierungen der Benutzeroberfläche in Echtzeit möglich sind.
hourglass: Geben Sie True an, um den Mauszeiger in eine Sanduhr zu ändern (Standard = False).
Wenn Sie den Mauszeiger bewegen, nachdem er sich in eine Sanduhr geändert hat, wechselt er je nach neuem Hintergrund möglicherweise zu einem anderen Zeiger.
    ' Unterbricht UI-Aktualisierungen und ändert den Mauszeiger in eine Sanduhr
    oDoc.Echo(EchoOn := False, HourGlass := True)
    ' Andere Makrobefehle
    ' ...
    ' Stellt UI-Aktualisierungen und Mauszeiger wieder her
    oDoc.Echo()
  
    doc.Echo(echoon = False, hourglass = True)
    ...
    doc.Echo()
  Exportiert das Dokument direkt als PDF-Datei an den angegebenen Speicherort. Gibt True zurück, wenn die PDF-Datei erfolgreich erstellt wurde.
Die Exportoptionen können entweder manuell über den Dialog oder durch Aufruf der Methoden GetPDFExportOptions und SetPDFExportOptions aus dem Dienst Session verwendet werden.
svc.ExportAsPDF(filename: str, overwrite: bool = False, opt pages: str, opt password: str, opt watermark: str): bool
filename: Der vollständige Pfad und Dateiname der zu erstellenden PDF-Datei. Er muss der Notation SF_FileSystem.FileNaming folgen.
overwrite: Legt fest, ob die Zieldatei überschrieben werden kann (Standard = False). Ein Fehler tritt auf, wenn overwrite auf False gesetzt ist und die Zieldatei bereits existiert.
pages: Zeichenfolge, welche die zu exportierenden Seiten festlegt. Dieses Argument verwendet die gleiche Schreibweise wie im Dialog .
password: Legt ein Kennwort zum Öffnen der PDF-Datei fest.
watermark: Als Wasserzeichen in der PDF-Datei zu verwendender Text, der auf jeder Seite des resultierenden PDFs gezeichnet wird.
Das folgende Beispiel exportiert das aktuelle Dokument als PDF-Datei, definiert ein Kennwort und überschreibt die Zieldatei, falls diese bereits vorhanden ist.
    oDoc.ExportAsPDF("C:\User\Documents\myFile.pdf", Password := "1234", Overwrite := True)
  Das folgende Code-Schnipsel fragt die aktuellen PDF-Exportoptionen ab und verwendet sie zum Erstellen der PDF-Datei.
    Dim exportSettings as Object, oSession as Object
    oSession = CreateScriptService("Session")
    exportSettings = oSession.GetPDFExportOptions()
    ' Setzt die Option zum Exportieren von Kommentaren als PDF-Notizen auf True
    exportSettings.ReplaceItem("ExportNotes", True)
    oSession.SetPDFExportOptions(exportSettings)
    oDoc.ExportAsPDF("C:\User\Documents\myFile.pdf")
  
    doc.ExportAsPDF(r"C:\User\Documents\myFile.pdf", password = "1234", overwrite = True)
  
    session = CreateScriptService("Session")
    exportSettings = oSession.GetPDFExportOptions()
    exportSettings.ReplaceItem("ExportNotes", True)
    session.SetPDFExportOptions(exportSettings)
    doc.ExportAsPDF(r"C:\User\Documents\myFile.pdf")
  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 gedruckt wurde.
svc.PrintOut(pages: str = "", copies: num = 1): bool
pages: Die Seiten als Zeichenfolge, die gedruckt werden sollen, wie in der Benutzeroberfläche. Beispiel: "1-4;10;15-18". Standard ist alle Seiten.
copies: Die Anzahl der Kopien. Standard ist 1.
    If oDoc.PrintOut("1-4;10;15-18", Copies := 2) Then
        ' ...
    End If
  
    if doc.PrintOut(copies=3, pages='45-88'):
        # ...
  Entfernt ein Menü der obersten Ebene aus der Menüleiste eines bestimmten Dokumentfensters.
Gibt True zurück, wenn das angegebene Menü entfernt werden konnte. Wenn das angegebene Menü nicht existiert, gibt die Methode False zurück.
Diese Methode kann verwendet werden, um jeden Menüeintrag aus dem Dokumentfenster zu entfernen, einschließlich Standardmenüs. Keine dieser Änderungen in der Menüleiste wird jedoch im Dokument oder in den Anwendungseinstellungen gespeichert. Um die Menüleiste auf die Standardeinstellungen zurückzusetzen, schließen Sie einfach das Dokumentfenster und öffnen Sie es erneut.
svc.RemoveMenu(menuheader: str): bool
menuheader: Der Name der obersten Ebene des zu entfernenden Menüs.
    Dim oDoc as Object
    Set oDoc = CreateScriptService("Document")
    oDoc.RemoveMenu("Mein Menü")
  
    doc = CreateScriptService("Document")
    doc.RemoveMenu("Mein Menü")
  Führt einen UNO-Befehl im Dokumentfenster aus, das der Dienstinstanz zugeordnet ist. Einige typische Befehle sind: "Save", "SaveAs", "ExportToPDF", "Undo", "Copy", "Paste" und so weiter.
Das Dokument selbst muss nicht aktiv sein, um Befehle ausführen zu können.
Befehle können mit oder ohne Argumente ausgeführt werden. Argumente werden nicht validiert, bevor der Befehl ausgeführt wird. Wenn der Befehl oder seine Argumente ungültig sind, wird nichts passieren.
Eine vollständige Liste der UNO-Befehle, die in LibreOffice ausgeführt werden können, finden Sie auf der Wiki-Seite Development/DispatchCommands.
svc.RunCommand(command: str, [args: any])
command: Groß-/Kleinschreibung beachtende Zeichenfolge, die den UNO-Befehlsnamen enthält. Die Aufnahme des Präfixes ".uno:" in den Befehl ist optional. Der Befehl selbst wird nicht auf Korrektheit überprüft. Wenn nach dem Befehlsaufruf nichts passiert, dann ist der Befehl wahrscheinlich falsch.
args: Legen Sie für jedes Argument, das an den Befehl übergeben werden soll, ein Paar fest, das den Namen und den Wert des Arguments enthält.
Das folgende Beispiel führt den Befehl SelectData in einer Calc-Datei mit dem Namen "MyFile.ods" aus, was zur Auswahl des Datenbereichs basierend auf der aktuell ausgewählten Zelle führt. Beachten Sie, dass dieser Befehl keine Argumente erfordert.
    Set oDoc = CreateScriptService("Document", "MyFile.ods")
    oDoc.RunCommand("SelectData")
  Unten sehen Sie ein Beispiel, das den UNO-Befehl ReplaceAll ausführt und Werte für seine Argumente SearchString und ReplaceString übergibt. Wenn Sie diesen Befehl ausführen, werden alle Vorkommen der Zeichenfolge "abc" durch "ABC" in der aktuellen Tabelle ersetzt.
    ' An den Befehl übergebene Argumente:
    ' SearchString  = "abc"
    ' ReplaceString = "ABC"
    oDoc.RunCommand(".uno:ReplaceAll", "SearchString", "abc", "ReplaceString", "ABC")
  Beachten Sie, dass das Aufrufen des Befehls ReplaceAll ohne Argumente den Dialog öffnet.
    doc = CreateScriptService("Document", "MyFile.ods")
    doc.RunCommand("SelectData")
  
    doc.RunCommand(".uno:ReplaceAll", "SearchString", "abc", "ReplaceString", "ABC")
  In Python ist es auch möglich, RunCommand mit Schlüsselwortargumenten aufzurufen:
    doc.RunCommand(".uno:ReplaceAll", SearchString = "abc", ReplaceString = "ABC")
  Jede LibreOffice-Komponente verfügt über einen eigenen Befehlssatz. Eine einfache Möglichkeit, Befehle zu lernen, ist Extras – Anpassen… – Register: Tastatur aufzurufen. Wenn Sie mit der Maus über eine Funktion in der Liste Funktion bewegen, erscheint ein Infotext mit dem entsprechenden UNO-Befehl.
Speichert das Dokument an dem Dateispeicherort, von dem es geladen wurde. Die Methode wird ignoriert, wenn das Dokument nicht geändert wurde.
Gibt False zurück, wenn das Dokument nicht gespeichert werden konnte. Ein Fehler wird ausgelöst, wenn die Datei schreibgeschützt geöffnet ist oder wenn es sich um eine neue Datei handelt, die noch nicht gespeichert wurde.
Das Dokument selbst muss nicht aktiv sein, um diese Methode auszuführen.
svc.Save(): bool
    If Not oDoc.Save() Then
        ' ...
    End If
  
    if not doc.Save():
        # ...
  Speichert das Dokument am angegebenen Dateispeicherort. Der neue Speicherort wird zum neuen Dateinamen, auf den einfache Methodenaufrufe "Save" angewendet werden.
Gibt False zurück, wenn das Dokument nicht gespeichert werden konnte. Ein Fehler wird ausgelöst, wenn das Überschreiben des Ziels abgelehnt wird oder wenn das schreibgeschützte Attribut des Ziels gesetzt ist.
Das Dokument selbst muss nicht aktiv sein, um diese Methode auszuführen.
svc.SaveAs(filename: str, overwrite: bool = False, password: str = '', filtername: str = '', filteroptions: str = ''): bool
filename: Eine Zeichenfolge, die den zu verwendenden Dateinamen enthält. Sie muss der Notation SF_FileSystem.FileNaming folgen.
overwrite: Wenn True, darf die Zieldatei überschrieben werden (Standard = False).
password (*): Eine Zeichenfolge ohne Leerzeichen zum Schutz des Dokuments.
filtername (*): Der Name eines Filters, der zum Speichern des Dokuments verwendet werden soll. Wenn dieses Argument übergeben wird, muss der Filter vorhanden sein.
filteroptions (*): Eine optionale Zeichenfolge mit Optionen, die dem Filter zugeordnet sind.
    oDoc.SaveAs("C:\Documents\NewCopy.odt", overwrite := True)
  
    doc.SaveAs(r"C:\Documents\NewCopy.odt", overwrite = True)
  Speichert eine Kopie des Dokuments oder exportiert es an den angegebenen Speicherort. Der tatsächliche Standort bleibt unverändert.
Gibt False zurück, wenn das Dokument nicht gespeichert werden konnte. Ein Fehler wird ausgelöst, wenn das Überschreiben des Ziels abgelehnt wird oder wenn das Attribut schreibgeschützt des Ziels gesetzt ist.
Das Dokument selbst muss nicht aktiv sein, um diese Methode auszuführen.
svc.SaveCopyAs(filename: str, overwrite: bool = False, password: str = '', filtername: str = '', filteroptions: str = ''): bool
filename: Eine Zeichenfolge, die den zu verwendenden Dateinamen enthält. Sie muss der Notation SF_FileSystem.FileNaming folgen.
overwrite: Wenn True, darf die Zieldatei überschrieben werden (Standard = False).
password (*): Eine Zeichenfolge ohne Leerzeichen zum Schutz des Dokuments.
filtername (*): Der Name eines Filters, der zum Speichern des Dokuments verwendet werden soll. Wenn dieses Argument übergeben wird, muss der Filter vorhanden sein.
filteroptions (*): Eine optionale Zeichenfolge mit Optionen, die dem Filter zugeordnet sind.
    oDoc.SaveCopyAs("C:\Documents\Copy2.odt", Overwrite := True)
  
    doc.SaveCopyAs(r"C:\Documents\Copy2.odt", overwrite = True)
  Definiert die Druckeroptionen für das Dokument.
Gibt bei Erfolg True zurück.
svc.SetPrinter(opt printer: str, opt orientation: str, paperformat: str): bool
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: Legt das Papierformat als Zeichenfolge fest, der entweder A3, A4, A5, LETTER, LEGAL oder TABLOID sein kann. Bleibt bei Abwesenheit unverändert.
    oDoc.SetPrinter(Orientation := "PORTRAIT")
  
    doc.SetPrinter(paperformat='TABLOID')
  Ruft eine Liste von Formatvorlagen ab, die einem optionalen zusammengesetzten Kriterium entsprechen. Die zurückgegebene Matrix ist möglicherweise leer. Es gilt für alle Dokumenttypen außer Base.
svc.Styles(family, opt namepattern: str, opt used: bool, opt userdefined: bool, opt parentstyle: str, opt category: str): str[0..*])
category: Eine Zeichenfolge, bei der die Groß-/Kleinschreibung nicht beachtet wird: "TEXT", "CHAPTER", "LIST", "INDEX", "EXTRA" oder "HTML". Die jeweilige Bedeutung finden Sie in der API-Dokumentation paragraph style category.
Dieses Argument wird ignoriert, wenn sich die Familie von „ParagraphStyles“ unterscheidet.
namepattern: Ein Filter für die Vorlagennamen als Zeichenfolge, bei der die Groß- und Kleinschreibung berücksichtigt wird. Die Namen umfassen die internen und lokalisierten Namen.
Zugelassene Platzhalter sind:
das "?" stellt ein beliebiges einzelnes Zeichen dar.
das "*" steht für kein, ein oder mehrere Zeichen.
parentstyle: Wenn vorhanden, werden nur die untergeordneten Elemente des angegebenen, lokalisierten oder nicht lokalisierten Namens der übergeordneten Formatvorlage beibehalten.
used: Wenn True, muss die Formatvorlage im Dokument verwendet werden, wenn nicht vorhanden, wird das Argument ignoriert.
userdefined: Wenn True, muss die Formatvorlage vom Benutzer hinzugefügt worden sein, entweder im Dokument oder in seiner Dokumentvorlage. Wenn er nicht vorhanden ist, wird das Argument ignoriert.
    Dim vStyles As Variant
    vStyles = oDoc.Styles("ParagraphStyles") ' Alle Formatvorlagen der Familie
    vStyles = oDoc.Styles("ParagraphStyles", "Ü*") ' Überschrift, Überschrift 1, …
    vStyles = oDoc.Styles("ParagraphStyles", Used := False, UserDefined := True) ' Alle benutzerdefinierten Formatvorlagen, die nicht verwendet werden
    vStyles = oDoc.Styles("ParagraphStyles", ParentStyle := "Standard") ' Alle von der Absatzvorlage „Standard“ abgeleiteten Vorlagen
  
    vStyles = doc.Styles('ParagraphStyles')  # Alle Formatvorlagen der Familie
    vStyles = doc.Styles('ParagraphStyles', 'Ü*')  # Überschrift, Überschrift 1, …
    vStyles = doc.Styles('ParagraphStyles', Used = False, UserDefined = True)  # Alle benutzerdefinierten Formatvorlagen, die nicht verwendet werden
    vStyles = doc.Styles('ParagraphStyles', ParentStyle = 'Standard")  # Alle von der Absatzvorlage „Standard“ abgeleiteten Vorlagen
  Diese Methode gibt entweder eine Liste der verfügbaren Symbolleistennamen im eigentlichen Dokument oder eine Instanz des Services SFWidgets.Toolbar zurück.
    svc.Toolbars(opt ToolbarName: str): uno
    svc.Toolbars(): str[0..]
  
ToolbarName: Der übliche Name einer der verfügbaren Symbolleisten.
    Dim oToolbar As Object
    Set oToolbar = oDoc.Toolbars("myToolbar")
  
    a_list = doc.Toolbars()
  Diese Methode gibt die UNO-Darstellung einer bestimmten Formatvorlage für alle Dokumenttypen außer Base zurück. Nothing wird zurückgegeben, wenn StyleName in der angegebenen Familie nicht vorhanden ist.
svc.XStyles(family: str, stylename: str): uno
stylename: Eine der in der angegebenen Familie vorhandenen Formatvorlagen als Zeichenfolge, bei der die Groß-/Kleinschreibung beachtet wird. StyleName kann lokalisiert sein oder nicht.
    Dim oStyle As Object
    Set oStyle = oDoc.XStyle("ParagraphStyle", "Heading 2")
  
    oStyle = doc.XStyle('ParagraphStyle', 'Heading 2')