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

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

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!