SFDocuments.Document-service

De bibliotheek SFDocuments biedt methoden en eigenschappen om het beheer en de manipulatie van LibreOffice-documenten te vergemakkelijken.

Methoden die van toepassing zijn op alle soorten documenten (tekstdocumenten, bladen, presentaties, enz.) worden geleverd door de service SFDocuments.Document. Enkele voorbeelden zijn:

warning

De eigenschappen, methoden of argumenten gemarkeerd met (*) zijn NIET van toepassing op Basic-documenten.


Methoden en eigenschappen die specifiek zijn voor bepaalde LibreOffice-componenten worden opgeslagen in afzonderlijke services, zoals SFDocuments.SF_Calc en SFDocuments.SF_Base.

Hoewel de Basic-taal geen overerving tussen objectklassen biedt, kunnen de laatstgenoemde services worden beschouwd als subklassen van de SFDocuments.Document-service. Dergelijke subklassen kunnen een beroep doen op de eigenschappen en methoden die hieronder worden beschreven.

Service aanroep

Voordat de service Document gebruikt kan worden, moet de bibliotheek ScriptForge eerst worden geladen of geïmporteerd:

note

• Basic macro's kunnen de bibliotheek ScriptForge laden met de instructie:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

• Python scripts kunnen de module scriptforge importeren met:
from scriptforge import CreateScriptService


Hieronder staan drie varianten van hoe de service Document kan worden aangeroepen.

In BASIC

Met behulp van de getDocument-methode van de ScriptForge.UI-service:


    Dim ui As Object, oDoc As Object
    Set ui = CreateScriptService("UI")
    Set oDoc = ui.GetDocument("Untitled 1")
  

Als alternatief kunt u de methoden CreateDocument en OpenDocument van de UI-service gebruiken.


    Set oDocA = ui.CreateDocument("Calc")
    Set oDocB = ui.OpenDocument("C:\Documents\MyFile.odt")
  

Een vensternaam gebruiken als het document al geopend is.


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

Gebruik het document waarnaar wordt verwezen door ThisComponent. Dit is vooral handig bij het uitvoeren van een macro vanuit de Basic IDE.


    Dim oDoc As Object
    Set oDoc = CreateScriptService("Document", ThisComponent)
  

Van een macro die is geactiveerd door een documentgebeurtenis.


    Sub RunEvent(ByRef poEvent As Object)
        Dim oDoc As Object
        Set oDoc = CreateScriptService("SFDocuments.DocumentEvent", poEvent)
        ' (...)
    End Sub
  
note

De service Document is nauw verwant aan de services UI en FileSystem.


Behalve wanneer het document werd afgesloten door een programma met de CloseDocument-methode (het is dan overbodig), wordt aanbevolen om na gebruik bronnen vrij te maken:


    Set oDoc = oDoc.Dispose()
  
In Python

    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)
        # (...)
  
tip

Het gebruik van het voorvoegsel "SFDocuments." tijdens het aanroepen van de service is optioneel.


Eigenschappen

Naam

AlleenLezen

Type

Beschrijving

CustomProperties (*)

Nee

Dictionary service

Retourneert een objectinstantie ScriptForge.Dictionary. Na update kan het opnieuw worden doorgegeven aan de eigenschap om het document bij te werken.
Individuele items van het woordenboek kunnen strings, cijfers, (basis)datums of com.sun.star.util.Duration items.

Description (*)

Nee

String

Geeft toegang tot de eigenschap Beschrijving van het document (ook bekend als "Notities")

DocumentProperties (*)

Ja

Dictionary service

Retourneert een ScriptForge.Dictionary-object dat alle vermeldingen bevat. Documentstatistieken zijn inbegrepen. Merk op dat ze specifiek zijn voor het type document. Een Calc-document bevat bijvoorbeeld een invoer "CellCount". Andere documenten niet.

DocumentType

Ja

String

Tekenreeks met het documenttype ("Base", "Calc", "Writer", enz.)

ExportFilters (*)

Ja

String array

Retourneert een lijst met de exportfilternamen die van toepassing zijn op het huidige document als een op nul gebaseerde matrix van tekenreeksen. Filters die voor zowel import als export worden gebruikt, worden ook geretourneerd.

FileSystem (*)

Ja

String

Retourneert een tekenreeks met het URL-pad naar de hoofdmap van het virtuele bestandssysteem van het document. Gebruik de service FileSystem om de inhoud ervan te bekijken, en om de daarin opgeslagen bestanden te maken, openen en lezen.

Raadpleeg deze helppagina voor meer informatie over het openen en manipuleren van mappen en bestanden in het virtuele bestandssysteem van een LibreOffice-bestand.

ImportFilters (*)

Ja

String array

Retourneert een lijst met de importfilternamen die van toepassing zijn op het huidige document als een op nul gebaseerde matrix van tekenreeksen. Filters die voor zowel import als export worden gebruikt, worden ook geretourneerd.

IsBase
IsCalc
IsDraw
IsFormDocument
IsImpress
IsMath
IsWriter

Ja

Boolean

Precies één van deze eigenschappen is True voor een bepaald document.

Keywords (*)

Nee

String

Geeft toegang tot de eigenschap Trefwoorden van het document. Weergegeven als een door komma's gescheiden lijst met trefwoorden

Readonly (*)

Ja

Boolean

True als het document zich in de alleen-lezen modus bevindt

StyleFamilies (*)

Ja

String array

Lijst met beschikbare stijlfamilies. Van toepassing op alle documenttypen behalve Base.

Subject (*)

Nee

String

Geeft toegang tot de eigenschap Onderwerp van het document.

Title (*)

Nee

String

Geeft toegang tot de eigenschap Titel van het document.

XComponent

Ja

UNO-object

Het UNO-object com.sun.star.lang.XComponent of com.sun.star.comp.dba.ODatabaseDocument dat het document vertegenwoordigt.

XDocumentSettings (*)

Ja

UNO-object

Een com.sun.star.XXX.DocumentSettings UNO-object - waarbij XXX een blad, tekst, tekening of presentatie is - dat toegang geeft tot interne UNO-eigenschappen, die specifiek zijn voor het documenttype.


Voorbeeld:

In BASIC

In het onderstaande voorbeeld worden alle eigenschappen van een document afgedrukt. Merk op dat het oDoc-object dat wordt geretourneerd door de UI.OpenDocument-methode, een SFDocuments.Document-object is.


    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()
  
In Python

Om toegang te krijgen tot documenteigenschappen in een Python-script, moet de gebruiker deze rechtstreeks openen met behulp van hun naam, zoals hieronder weergegeven:


    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()
  

Lijst met methoden in de Documentenservice

Activate
CloseDocument
CreateMenu
DeleteStyles
Echo
ExportAsPDF

ImportStylesFromFile
PrintOut
RemoveMenu
RunCommand
Save
SaveAs

SaveCopyAs
SetPrinter
Style
Toolbars
XStyle


Activate

Retourneert True als het document zou kunnen worden geactiveerd. Anders is er geen verandering in de eigenlijke gebruikersinterface. Het is gelijk aan de Activate-methode van de UI-service.

Deze methode is handig wanneer men focus moet geven aan een document dat geminimaliseerd of verborgen is.

Syntaxis:

svc.Activate(): bool

Voorbeeld:

In het onderstaande voorbeeld wordt ervan uitgegaan dat het bestand "My_File.ods" al open maar niet actief is.

In BASIC

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

    doc = CreateScriptService("Document", "MyFile.ods")
    doc.Activate()
  
tip

Houd er rekening mee dat u de service Document kunt aanroepen door "Document" of "SFDocuments.Document" door te geven aan CreateScriptService


CloseDocument

Sluit het document. Als het document al is gesloten, ongeacht hoe het document is gesloten, heeft deze methode geen effect en retourneert False.

De methode retourneert ook False als de gebruiker weigert deze te sluiten.

Retourneert True als het document met succes is gesloten.

Syntaxis:

svc.CloseDocument(saveask: bool = True): bool

Parameters:

saveask : Indien True (standaard), wordt de gebruiker uitgenodigd om te bevestigen of de wijzigingen op schijf moeten worden geschreven. Dit argument wordt genegeerd als het document niet is gewijzigd.

Voorbeeld:

In BASIC

    If oDoc.CloseDocument(True) Then
        ' ...
    End If
  
In Python

    if doc.CloseDocument(True):
        # ...
  

CreateMenu

Maakt een nieuw menu-item in de menubalk van een bepaald documentvenster.

Deze methode retourneert een instantie van de service SFWidgets.Menu.

note

Het gemaakte menu is alleen beschikbaar tijdens de huidige LibreOffice-sessie en wordt niet opgeslagen in het document of in de algemene applicatie-instellingen. Als u het documentvenster sluit, verdwijnt het menu. Het verschijnt alleen opnieuw wanneer de macro die het menu maakt opnieuw wordt uitgevoerd.


Syntaxis:

svc.CreateMenu(menuheader: str, [before: any], submenuchar: str = ">"): svc

Parameters:

menuheader: De naam op het hoogste niveau van het nieuwe menu.

before: De naam (als een tekenreeks) of positie (als een geheel getal beginnend bij 1) van een bestaand menu waarvoor het nieuwe menu zal worden geplaatst. Als er geen waarde is gedefinieerd voor dit argument, wordt het menu op de laatste positie in de menubalk gemaakt.

submenuchar: het scheidingsteken dat wordt gebruikt om menustructuren te maken bij het aanroepen van methoden als AddItem vanuit de service Menu. De standaardwaarde is ">".

Voorbeeld:

In BASIC

    Dim oDoc as Object, oMenu as Object
    Set oDoc = CreateScriptService("Document")
    Set oMenu = oDoc.CreateMenu("MijnMenu")
    With oMenu
        'Voeg items toe aan het menu
        .AddItem("Item A")
        .AddItem("Item B")
        ' ...
        ' Nadat het menu is gemaakt, kan de service-instantie worden verwijderd
        .Dispose()
    End With
  
In Python

    doc = CreateScriptService("Document")
    menu = doc.CreateMenu("MijnMenu")
    menu.AddItem("Item A")
    menu.AddItem("Item B")
    # ...
    menu.Dispose()
  
tip

Raadpleeg de helppagina SFWidgets.Menu voor meer informatie over het maken/ verwijder menu's in documentvensters in LibreOffice.


DeleteStyles

Onderdrukt een enkel opmaakprofiel of een reeks opmaakprofielen met hun naam binnen een specifieke opmaakprofielfamilie. Alleen door de gebruiker gedefinieerde opmaakprofielen kunnen worden verwijderd, ingebouwde opmaakprofielen worden genegeerd. Het is van toepassing op alle documenttypen behalve Base en FormDocument.

Syntaxis:

svc.DeleteStyles(family: str, stylelist: str[1..*])

Parameters:

family: Een van de opmaakprofielfamilies die in het daadwerkelijke document aanwezig is, als een hoofdlettergevoelige tekenreeks. Geldige familienamen kunnen worden opgehaald met de eigenschap StyleFamilies.

stylelist: Een enkele opmaakprofielnaam als tekenreeks of een reeks opmaakprofielnamen. De opmaakprofielnamen kunnen al dan niet gelokaliseerd zijn. De StylesList is doorgaans de uitvoer van de uitvoering van een Styles() methode.

Voorbeeld:

In BASIC

    ' Ongebruikte alinea-opmaakprofielen verwijderen
    Const family = "ParagraphStyles"
    aList = oDoc.Styles(family, used := False, userDefined := True)
    oDoc.DeleteStyles(family, aList)
  
In Python

    # Opmaakprofielen verwijderen volgens een voorvoegsel
    a_list = doc.Styles('ParagraphStyles', namepattern = "Py*")
    doc.Styles('ParagraphStyles', a_list)
  

Echo

Onderbreekt updates van de gebruikersinterface (UI) tijdens de uitvoering van een macro. Optioneel kan de muisaanwijzer worden veranderd in een zandloper terwijl UI-updates zijn opgeschort.

tip

Deze methode kan enkele prestatievoordelen opleveren voor macro's die talloze bewerkingen uitvoeren waarvoor UI-updates nodig zijn.


Syntaxis:

svc.Echo(echoon: bool = True, hourglass: bool = False)

Parameters:

echoon: Geef False op om UI-updates op te schorten. De standaardwaarde is True, waardoor realtime UI-updates mogelijk zijn.

hourglass: Geef True op om de muisaanwijzer in een zandloper te veranderen (standaard = False).

note

Als u de muisaanwijzer verplaatst nadat deze in een zandloper is veranderd, kan dit ertoe leiden dat deze naar een andere aanwijzer overschakelt, afhankelijk van de nieuwe achtergrond.


Voorbeeld:

In BASIC

    ' Onderbreekt UI-updates en verandert de muisaanwijzer in een zandloper
    oDoc.Echo(EchoOn := False, HourGlass := True)
    ' Andere macro-opdrachten
    ' ...
    ' Herstelt UI-updates en muisaanwijzer
    oDoc.Echo()
  
In Python

    doc.Echo(echoon = False, hourglass = True)
    ...
    doc.Echo()
  

ExportAsPDF

Exporteert het document rechtstreeks als PDF-bestand naar de opgegeven locatie. Retourneert True als het PDF-bestand met succes is gemaakt.

De exportopties kunnen handmatig worden ingesteld met behulp van het dialoogvenster Bestand - Exporteren als - Exporteren als PDF of door de methoden GetPDFExportOptions en SetPDFExportOptions aan te roepen vanuit de Sessie-service.

Syntaxis:

svc.ExportAsPDF(filename: str, overwrite: bool = False, opt pages: str, opt password: str, opt watermark: str): bool

Parameters:

filename: Het volledige pad en de bestandsnaam van de te maken PDF. Het moet de notatie SF_FileSystem.FileNaming volgen.

overwrite: Geeft aan of het doelbestand kan worden overschreven (Standaard = False). Er zal een fout optreden als overwrite is ingesteld op False en het doelbestand al bestaat.

pages: tekenreeks die aangeeft welke pagina's worden geëxporteerd. Dit argument gebruikt dezelfde notatie als in het dialoogvenster Bestand - Exporteren als - Exporteren als PDF.

password: Specificeert een wachtwoord om het PDF-bestand te openen.

watermark: Tekst die moet worden gebruikt als watermerk in het PDF-bestand, dat op elke pagina van de resulterende PDF wordt getekend.

Voorbeeld:

In BASIC

Het volgende voorbeeld exporteert het huidige document als een PDF-bestand, definieert een wachtwoord en overschrijft het doelbestand als dit al bestaat.


    oDoc.ExportAsPDF("C:\User\Documents\myFile.pdf", Password := "1234", Overwrite := True)
  

Het onderstaande codefragment haalt de huidige PDF-exportopties op en gebruikt deze om het PDF-bestand te maken.


    Dim exportSettings as Object, oSession as Object
    oSession = CreateScriptService("Session")
    exportSettings = oSession.GetPDFExportOptions()
    ' Stelt de optie in om opmerkingen als PDF-notities te exporteren op True
    exportSettings.ReplaceItem("ExportNotes", True)
    oSession.SetPDFExportOptions(exportSettings)
    oDoc.ExportAsPDF("C:\User\Documents\myFile.pdf")
  
In Python

    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")
  

ImportStylesFromFile

Deze methode laadt alle opmaakprofielen die tot een of meer opmaakprofielfamilies behoren vanuit een gesloten bestand in het daadwerkelijke document. Het eigenlijke document moet een Calc- of een Writerdocument zijn.

Worden altijd samen geïmporteerd:

Retourneert True als opmaakprofielen succesvol zijn geïmporteerd.

Syntaxis:

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

Parameters:

filename: het bestand waaruit de opmaakprofielen moeten worden geladen in de notatie FileSystem. Er wordt aangenomen dat het bestand van hetzelfde documenttype is als het daadwerkelijke document.

families: Een van de opmaakprofielfamilies die in het eigenlijke document aanwezig is, als een hoofdlettergevoelige tekenreeks of een matrix van dergelijke tekenreeksen. Standaard = all families.

overwrite: Wanneer True, kunnen de daadwerkelijke opmaakprofielen worden overschreven. Standaard is False.

Voorbeeld:

In BASIC

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

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

PrintOut

Deze methode stuurt de inhoud van het document naar de standaardprinter of naar de printer die is gedefinieerd door de SetPrinter-methode.

Retourneert True als het document is afgedrukt.

Syntaxis:

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

Parameters:

pages: De pagina's die als een tekenreeks moeten worden afgedrukt, zoals in de gebruikersinterface. Voorbeeld: "1-4;10;15-18". Standaard is dit alle pagina's.

copies: Het aantal exemplaren. Standaard is 1.

Voorbeeld:

In BASIC

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

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

RemoveMenu

Verwijdert een menu op het hoogste niveau van de menubalk van een bepaald documentvenster.

Retourneert True als het opgegeven menu zou kunnen worden verwijderd. Als het opgegeven menu niet bestaat, retourneert de methode False.

note

Deze methode kan worden gebruikt om alle menu-items uit het documentvenster te verwijderen, inclusief standaardmenu's. Geen van deze wijzigingen in de menubalk wordt echter opgeslagen in het document of in de applicatie-instellingen. Om de menubalk terug te zetten naar de standaardinstellingen, hoeft u alleen maar het documentvenster te sluiten en opnieuw te openen.


Syntaxis:

svc.RemoveMenu(menuheader: str): bool

Parameters:

menuheader: De naam op het hoogste niveau van het menu dat moet worden verwijderd.

Voorbeeld:

In BASIC

    Dim oDoc as Object
    Set oDoc = CreateScriptService("Document")
    oDoc.RemoveMenu("MijnMenu")
  
In Python

    doc = CreateScriptService("Document")
    doc.RemoveMenu("MijnMenu")
  
tip

Raadpleeg de helppagina SFWidgets.Menu voor meer informatie over het maken/ verwijder menu's in documentvensters in LibreOffice.


RunCommand

Voert een UNO-opdracht uit in het documentvenster dat is gekoppeld aan de service-instance. Een paar typische opdrachten zijn: Save, SaveAs, ExportToPDF, Undo, Copy, Paste, etc.

Het document zelf hoeft niet actief te zijn om opdrachten te kunnen uitvoeren.

Opdrachten kunnen met of zonder argumenten worden uitgevoerd. Argumenten worden niet gevalideerd voordat de opdracht wordt uitgevoerd. Als de opdracht of zijn argumenten ongeldig zijn, gebeurt er niets.

tip

Voor een volledige lijst van UNO-opdrachten die in LibreOffice kunnen worden uitgevoerd, raadpleegt u de Wiki-pagina Development/DispatchCommands.


Syntaxis:

svc.RunCommand(command: str, [args: any])

Parameters:

command: Hoofdlettergevoelige tekenreeks die de UNO-opdrachtnaam bevat. Het opnemen van het voorvoegsel ".uno:" in de opdracht is optioneel. De opdracht zelf wordt niet op juistheid gecontroleerd. Als er niets gebeurt na de opdrachtaanroep, is de opdracht waarschijnlijk verkeerd.

args: Geef voor elk argument dat aan de opdracht moet worden doorgegeven een paar op dat de naam en waarde van het argument bevat.

Voorbeeld:

In BASIC

In het volgende voorbeeld wordt de opdracht SelectData uitgevoerd in een Calc-bestand met de naam "MyFile.ods", wat zal resulteren in de selectie van het gegevensgebied op basis van de momenteel geselecteerde cel. Merk op dat deze opdracht geen argumenten vereist.


    Set oDoc = CreateScriptService("Document", "MyFile.ods")
    oDoc.RunCommand("SelectData")
  

Hieronder ziet u een voorbeeld dat de UNO-opdracht ReplaceAll uitvoert en waarden doorgeeft voor de argumenten SearchString en ReplaceString. Als u deze opdracht uitvoert, wordt alle voorkomen van de tekenreeks "abc" vervangen door "ABC" in het huidige blad.


    ' Argumenten doorgegeven aan het commando:
    ' SearchString  = "abc"
    ' ReplaceString = "ABC"
    oDoc.RunCommand(".uno:ReplaceAll", "SearchString", "abc", "ReplaceString", "ABC")
  

Merk op dat het aanroepen van de opdracht ReplaceAll zonder argumenten het dialoogvenster Zoeken en vervangen opent.

In Python

    doc = CreateScriptService("Document", "MyFile.ods")
    doc.RunCommand("SelectData")
  

    doc.RunCommand(".uno:ReplaceAll", "SearchString", "abc", "ReplaceString", "ABC")
  

In Python is het ook mogelijk om RunCommand aan te roepen met trefwoordargumenten:


    doc.RunCommand(".uno:ReplaceAll", SearchString = "abc", ReplaceString = "ABC")
  
tip

Elke LibreOffice component heeft zijn eigen set opdrachten beschikbaar. Een gemakkelijke manier om opdrachten te leren is door naar Extra - Aanpassen - Toetsenbord te gaan. Wanneer u uw muisaanwijzer over een functie in de lijst Function plaatst, verschijnt er een helptip met het bijbehorende UNO-opdracht.


Save

Slaat het document op op de bestandslocatie van waaruit het is geladen. De methode wordt genegeerd als het document niet is gewijzigd.

Retourneert False als het document niet kon worden opgeslagen. Er wordt een foutmelding gegeven als het bestand als alleen-lezen is geopend of als het een nieuw bestand is dat nog niet is opgeslagen.

Het document zelf hoeft niet actief te zijn om deze methode uit te voeren.

Syntaxis:

svc.Save(): bool

Voorbeeld:

In BASIC

    If Not oDoc.Save() Then
        ' ...
    End If
  
In Python

    if not doc.Save():
        # ...
  

SaveAs

Slaat het document op de opgegeven bestandslocatie op. De nieuwe locatie wordt de nieuwe bestandsnaam waarop eenvoudige methodeaanroepen Save worden toegepast.

Retourneert False als het document niet kon worden opgeslagen. Er treedt een fout op wanneer het overschrijven van de bestemming wordt afgewezen of wanneer het alleen-lezen kenmerk van de bestemming is ingesteld.

Het document zelf hoeft niet actief te zijn om deze methode uit te voeren.

Syntaxis:

svc.SaveAs(filename: str, overwrite: bool = False, password: str = '', filtername: str = '', filteroptions: str = ''): bool

Parameters:

filename: Een tekenreeks die de bestandsnaam bevat die moet worden gebruikt. Het moet de notatie SF_FileSystem.FileNaming volgen.

overwrite: Indien True, kan het doelbestand worden overschreven (default = False).

password (*): Een tekenreeks zonder spatie om het document te beschermen.

filtername (*): De naam van een filter dat moet worden gebruikt om het document op te slaan. Als dit argument wordt doorgegeven, moet het filter bestaan.

filteroptions (*): Een optionele tekenreeks met opties die aan het filter zijn gekoppeld.

Voorbeeld:

In BASIC

    oDoc.SaveAs("C:\Documents\NewCopy.odt", overwrite := True)
  
In Python

    doc.SaveAs(r"C:\Documents\NewCopy.odt", overwrite = True)
  

SaveCopyAs

Slaat een kopie op van of exporteer het document naar de opgegeven bestandslocatie. De werkelijke locatie is ongewijzigd.

Retourneert False als het document niet kon worden opgeslagen. Er treedt een fout op wanneer het overschrijven van de bestemming wordt afgewezen of wanneer het alleen-lezen kenmerk van de bestemming is ingesteld.

Het document zelf hoeft niet actief te zijn om deze methode uit te voeren.

Syntaxis:

svc.SaveCopyAs(filename: str, overwrite: bool = False, password: str = '', filtername: str = '', filteroptions: str = ''): bool

Parameters:

filename: Een tekenreeks die de bestandsnaam bevat die moet worden gebruikt. Het moet de notatie SF_FileSystem.FileNaming volgen.

overwrite: Indien True, kan het doelbestand worden overschreven (standaard = False).

password (*): Een tekenreeks zonder spatie om het document te beschermen.

filtername (*): De naam van een filter dat moet worden gebruikt om het document op te slaan. Als dit argument wordt doorgegeven, moet het filter bestaan.

filteroptions (*): Een optionele tekenreeks met opties die aan het filter zijn gekoppeld.

Voorbeeld:

In BASIC

    oDoc.SaveCopyAs("C:\Documents\Copy2.odt", Overwrite := True)
  
In Python

    doc.SaveCopyAs(r"C:\Documents\Copy2.odt", overwrite = True)
  

SetPrinter

Definieert de printeropties voor het document.

Retourneert True indien succesvol.

Syntaxis:

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

Parameters:

printer: De naam van de printerwachtrij waarnaar moet worden afgedrukt. Indien afwezig is de standaardprinter ingesteld.

orientation: Ofwel PORTRAIT of LANDSCAPE. Blijft onveranderd indien afwezig, met betrekking tot de printerinstellingen.

paperformat: Specificeert het papierformaat als een tekenreekswaarde die A3, A4, A5, LETTER, LEGAL of TABLOID kan zijn. Blijft onveranderd indien afwezig.

Voorbeeld:

In BASIC

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

    doc.SetPrinter(paperformat='TABLOID')
  

Styles

Haalt een lijst met opmaakprofielen op die overeenkomen met een optioneel samengesteld criterium. De geretourneerde matrix is mogelijk leeg. Het is van toepassing op alle documenttypen behalve Base.

Syntaxis:

svc.Styles(family, opt namepattern: str, opt used: bool, opt userdefined: bool, opt parentstyle: str, opt category: str): str[0..*])

family: Een van de opmaakprofielfamilies die in het daadwerkelijke document aanwezig is, als een hoofdlettergevoelige tekenreeks. Geldige familienamen kunnen worden opgehaald met de eigenschap StyleFamilies.

category: Een niet-hoofdlettergevoelige tekenreeks: TEXT, CHAPTER, LIST, INDEX, EXTRA, HTML. Voor hun respectievelijke betekenissen, ziealinea-opmaakprofiel-categorie API-documentatie.

Dit argument wordt genegeerd als de familie afwijkt van 'ParagraphStyles'.

namepattern: Een filter op de opmaakprofielnamen, als hoofdlettergevoelig tekenreekspatroon. De namen omvatten de interne en gelokaliseerde namen.

Toegestane jokertekens zijn:

parentstyle: Indien aanwezig worden alleen de kinderen van de opgegeven, al dan niet gelokaliseerde, bovenliggende opmaakprofielnaam behouden.

used: Indien True moet het opmaakprofiel in het document zijn gebruikt; bij afwezigheid wordt het argument genegeerd.

userdefined: Indien True moet het opmaakprofiel door de gebruiker zijn toegevoegd, hetzij in het document, hetzij in de sjabloon. Wanneer deze niet aanwezig is, wordt het argument genegeerd.

Voorbeeld:

In BASIC

    Dim vStyles As Variant
    vStyles = oDoc.Styles("ParagraphStyles") 'Alle opmaakprofielen in de familie
    vStyles = oDoc.Styles("ParagraphStyles", "K*") 'Kop, Kop 1, ...
    vStyles = oDoc.Styles("ParagraphStyles", Used := False, UserDefined := True) ' Alle door de gebruiker gedefinieerde opmaakprofielen die niet worden gebruikt
    vStyles = oDoc.Styles("ParagraphStyles", ParentStyle := "Standard") ' Alle opmaakprofielen afgeleid van het 'alinea-opmaakprofiel Standaard'
  
In Python

    vStyles = doc.Styles('ParagraphStyles')  #Alle opmaakprofielen in de familie
    vStyles = doc.Styles('ParagraphStyles', 'K*')  #Kop, Kop 1, ...
    vStyles = doc.Styles('ParagraphStyles', Used = False, UserDefined = True)  # Alle door de gebruiker gedefinieerde opmaakprofielen die niet worden gebruikt
    vStyles = doc.Styles('ParagraphStyles', ParentStyle = 'Standard")  # Alle opmaakprofielen afgeleid van het "alinea-opmaakprofiel Standaard"
  

Toolbars

Deze methode retourneert een lijst met de beschikbare werkbalknamen in het daadwerkelijke document of een exemplaar SFWidgets.Toolbar-service.

Syntaxis:

svc.Toolbars(opt ToolbarName: str): uno
svc.Toolbars(): str[0..]

Parameters:

ToolbarName: De gebruikelijke naam van een van de beschikbare werkbalken.

Voorbeeld:

In BASIC

    Dim oToolbar As Object
    Set oToolbar = oDoc.Toolbars("myToolbar")
  
In Python

    a_list = doc.Toolbars()
  

XStyles

Deze methode retourneert de UNO-weergave van een bepaald opmaakprofiel voor alle documenttypen behalve Base. Nothing wordt geretourneerd als de opmaakprofielnaam niet bestaat in de opgegeven Familie.

Syntaxis:

svc.XStyles(family: str, stylename: str): uno

Parameters:

family: Een van de opmaakprofielfamilies die in het daadwerkelijke document aanwezig is, als een hoofdlettergevoelige tekenreeks. Geldige familienamen kunnen worden opgehaald met de eigenschap StyleFamilies.

stylename: Een van de opmaakprofielen die aanwezig zijn in de gegeven familie, als een hoofdlettergevoelige tekenreeks. De StyleName kan al dan niet gelokaliseerd zijn.

Voorbeeld:

In BASIC

    Dim oStyle As Object
    Set oStyle = oDoc.XStyle("ParagraphStyle", "Heading 2")
  
In Python

    oStyle = doc.XStyle('ParagraphStyle', 'Heading 2')
  
warning

Alle ScriptForge Basic-routines of variabelen die beginnen met een underscore "_" zijn voor intern gebruik. Gebruik deze niet in een Basic of Python-macro.


Help ons, alstublieft!