Tenesta SFDocuments.Writer

Det delte biblioteket SFDocuments gjev mange metodar og eigenskapar som letter administrasjon og handsaming av LibreOffice-dokument.

Nokre metodar gjeld for alle typar dokument og er nedarva frå modulen SF_Document, medan andre metodar som er spesifikke for Writer er definerte i modulen SF_Writer.

Oppkall av tenester

Før du brukar Writer-tenesta, må ScriptForge-biblioteket lastast inn eller importerast:

note

• Grunnleggjande makroar krev innlasting av biblioteket ScriptForge ved hjelp av denne setninga:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

• Python-skript krev import frå scriptforge-modulen:
from scriptforge import CreateScriptService


Tenesta Writer er i nær slekt med tenesta UI i biblioteket ScriptForge. Du finn nokre få eksempel nedanfor på korleis tenesta Writer kan kallast opp.

I Basic

Kodesnutten nedanfor lagar eit eksemplar av tenesta Writer som svarar til det gjeldande Writer-dokumentet.


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

Ein annan måte å laga eit eksemplar av tenesta Writer på, er å bruka tenesta UI. I det neste eksempelet vert det laga eit nytt Wtiter-dokument der oDoc er eit eksemplar av tenesta Writer:


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

Eller med metoden OpenDocument frå tenesta UI:


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

Det er også mogleg å starta tenesta Writer med metoden CreateScriptService:


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

I eksempelet ovanfor er "MyFil.ods" namnet på eit opna dokumentvindauge. Viss dette argumentet ikkje er gjeve, vert det aktive vindauget vurdert brukt.

Det vert tilrådd å frigjeva resursar etter bruk:


    Set oDoc = oDoc.Dispose()
  

Viss dokumentet vart lukka ved hjelp av metoden CloseDocument, er det ikkje nødvendig å frigjera ressursar med kommandoen nemnd ovanfor.

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

Bruk av prefikset «SFDocuments.» ved oppkall av tenesta er frivillig.


Definisjonar

Eigenskapar

Metodar

Liste over metodar i tenesta Writer

Forms

ImportStylesFromFile

PrintOut


Forms

Avhengig av kva parameterar som er gjevne, vil denne metoden returnera:

note

Denne metoden gjeld berre for Writer-dokument. Calc- og Base-dokument har sin eigen Form-metode i tenestene Calc og Base.


Syntaks:

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

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

svc.Forms(form: int): svc

Parametrar:

form: Namnet eller indeksen som svarar til eit skjema lagra i dokumentet. Viss dette argument manglar, vil metoden returnera ei liste med namna på alle skjemaa som er tilgjengelege i arket.

Eksempel:

I dei neste eksempla får den første linja namna på alle skjemaa som er lagra i dokumentet og den anden linje hentar objektet Form frå skjemaet med namnet «Form_A».

I Basic

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

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

ImportStylesFromFile

Denne metden lastar inn alle stilane dom høyrer til ein eller fleire stilfamiliar frå ei lukka fil inn i det gjeldande dokumentet. Det gjeldande dokumentet må vera Calc eller Writer.

Vert alltid importerte saman:

Returnerer Sann viss stilane vart importerte utan feil.

Syntaks:

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

Parametrar:

filename: Fila som stilane skal lastast inn frå i FileSystem-notasjon. Det vert gått ut frå at fila er av same dokumenttype som det aktuelle dokumentet.

families: Ein av filfamiliane som finst i det aktuelle dokumentet, som ein streng som skil mellom store og små bokstavar eller ei matrise med slike strengar. Hald dette argentet blankt for å importera alle familiar.

overwrite: Viss Sann kan den aktuelle fila overskrivast (standard = Usann).

Eksempel:

I Basic

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

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

PrintOut

Sender innhaldet i dokumentet til skrivaren. Skrivaren kan vera definert som standard av brukaren, eller via metoden SetPrinter for tenesta Document. Returnerer Sann når han lukkast.

Syntaks:

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

Parametrar:

pages: Sidene som skal skrivast ut som ein streng, som i brukargrensesnittet. Eksempel: «1-4;10;15-18». Standard = alle sidene.

copies: Talet på kopiar. Standard er 1.

printbackground: Skriv ut bakgrunnen når Sann (standard).

printblankpages: Når Usann (standard), vert tomme sider ikkje skrivne ut.

printevenpages: Skriv ut partalssider når Sann (standard).

printoddpages: Skriv ut oddetalssider når Sann (standard).

printimages: Skriv ut bilete når Sann (standard).

Eksempel:

I Basic

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

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

Alle ScriptForge Basic-rutinane og -identifikatorane som vert innleidde med understrek «_» er reserverte for internt bruk. Dei er ikkje meint brukte i Basic-makroar.


Støtt oss!