Storitev SFDocuments.Document

Knjižnica SFDocuments vsebuje metode in lastnosti, ki lajšajo upravljanje in ravnanje z dokumenti LibreOffice.

Metode, ki veljajo za vse vrste dokumentov (besedilne dokumente, preglednice, predstavitve itn.) so vključene v storitev SFDocuments.Document. Nekaj primerov:

warning

Lastnosti, metode in argumenti, označeni z zvezdico (*) NE veljajo za dokumente Base.


Metode in lastnosti, specifične za določen modul LibreOffice, se hranijo v ločenih storitvah, kot sta SFDocuments.SF_Calc in SFDocuments.SF_Base.

Čeprav jezik Basic ne ponuja dedovanja med razredi predmetov, lahko slednje storitve štejemo za podrazrede storitve SFDocuments.Document. Takšni podrazredi lahko prikličejo lastnosti in metode, ki so opisani v nadaljevanju.

Priklic storitve

Pred uporabo storitve Document je potrebno naložiti ali uvoziti knjižnico ScriptForge:

note

• Za makre Basic mora biti naložena knjižnica ScriptForge z naslednjim ukazom:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

• Za skripte Python mora biti opravljen uvoz iz modula scriptforge:
from scriptforge import CreateScriptService


Spodaj so trije načini, kako lahko prikličete storitev Document.

V Basicu

Z uporabo metode getDocument iz storitve ScriptForge.UI:


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

Namesto tega lahko uporabite metodi CreateDocument in OpenDocument iz storitve UI.


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

Z uporabo imena okna, če je dokument že odprt.


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

Z uporabo dokumenta, na katerega se sklicuje ThisComponent. To je še posebej uporabno, ko zaganjate makro iz razvojnega okolja IDE za Basic.


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

Iz makra, ki ga proži dogodek dokumenta.


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

Storitev Document je tesno povezana s storitvama UI in FileSystem.


Če dokumenta ni zaprl program z metodo CloseDocument (sicer je ta napotek odveč), priporočamo, da po uporabi sprostite vire:


    Set oDoc = oDoc.Dispose()
  
V Pythonu

    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

Uporaba predpone »SFDocuments.« pri klicu storitve je neobvezna.


Lastnosti

Ime

Samo za branje

Vrsta

Opis

CustomProperties (*)

Ne

Dictionary service

Vrne instanco predmeta ScriptForge.Dictionary. Po posodobitvi ga lahko znova podate lastnosti za posodobitev dokumenta.
Posamezni elementi slovarja so lahko nizi, števila, datumi (Basic) ali elementi com.sun.star.util.Duration.

Description (*)

Ne

String

Nudi dostop do opisa dokumenta (lastnost Description), znano tudi pod nazivom Komentarji (angl. "Comments")

DocumentProperties (*)

Da

Dictionary service

Vrne predmet ScriptForge.Dictionary, ki vsebuje vse vnose. Statistika dokumenta je vključena. Upoštevajte, da se glede na vrsto dokumentov razlikuje. Primer: dokument programa Calc vsebuje vnos "CellCount", torej števec celic. Druge vrste dokumentov tega vnosa nimajo.

DocumentType

Da

String

Vrednost niza z vrsto dokumenta ("Base", "Calc", "Writer" itn.)

ExportFilters (*)

Da

String array

Vrne seznam z imeni izvoznih filtrov, ki jih je moč uporabiti za trenutni dokument, kot ničelno polje nizov. Vrne tudi filtre, uporabljene tako za uvoz kot izvoz.

FileSystem (*)

Da

String

Vrne niz z URL-jem poti do korenske mape navideznega datotečnega sistema dokumenta. Uporabite storitev FileSystem za ogled njene vsebine ter za ustvarjanje, odpiranje in branje datotek, shranjenih v njej.

Glejte to stran pomoči, da izveste več o načinih dostopa in ravnanja z mapami in datotekami v navideznem datotečnem sistemu dokumenta LibreOffice.

ImportFilters (*)

Da

String array

Vrne seznam z imeni uvoznih filtrov, ki jih je moč uporabiti za trenutni dokument, kot ničelno polje nizov. Vrne tudi filtre, uporabljene tako za uvoz kot izvoz.

IsBase
IsCalc
IsDraw
IsFormDocument
IsImpress
IsMath
IsWriter

Da

Boolean

Natanko ena od teh lastnosti je enaka True za dani dokument.

Keywords (*)

Ne

String

Nudi dostop do ključnih besed dokumenta (lastnost Keywords). Predstavljen v obliki z vejicami ločenega seznama ključnih besed

Readonly (*)

Da

Boolean

True, če je dokument dejansko v načinu samo za branje

StyleFamilies (*)

Da

String array

Seznam razpoložljivih družin slogov. Velja za vse vrste dokumentov, razen za Base.

Subject (*)

Ne

String

Nudi dostop do zadeve dokumenta (lastnost Subject).

Title (*)

Ne

String

Nudi dostop do naslova dokumenta (lastnost Title).

XComponent

Da

Predmet UNO

Predmet UNO com.sun.star.lang.XComponent ali com.sun.star.comp.dba.ODatabaseDocument, ki predstavlja dokument.

XDocumentSettings (*)

Da

Predmet UNO

Predmet UNO com.sun.star.XXX.DocumentSettings – kjer je XXX »sheet« (preglednica), »text« (besedilo), »drawing« (risba) ali »presentation« (predstavitev) – ki daje dostop do internih lastnosti UNO, ki so specifične za dano vrsto dokumenta.


Primer:

V Basicu

Spodnji primer izpiše vse lastnosti dokumenta. Upoštevajte, da je predmet oDoc, ki ga vrne metoda UI.OpenDocument, predmet SFDocuments.Document.


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

Če želite dostopati do lastnosti dokumenta v skriptu Python, morate neposredno dostopati z rabo njihovih imen, kot je prikazano spodaj:


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

Seznam metod storitve Document

Activate
CloseDocument
CreateMenu
DeleteStyles
Echo
ExportAsPDF

ImportStylesFromFile
PrintOut
RemoveMenu
RunCommand
Save
SaveAs

SaveCopyAs
SetPrinter
Style
Toolbars
XStyle


Activate

Vrne True, če je aktivacija dokumenta uspela. Sicer v dejanskem uporabniškem vmesniku ni sprememb. Je enakovredna metodi Activate storitve UI.

Ta metoda je uporabna, ko želite pozornost usmeriti na dokument, ki je pomanjšan ali skrit.

Skladnja:

svc.Activate(): bool

Primer:

Spodnji primer predvideva, da je datoteka "My_File.ods" že odprta, vendar ni aktivna.

V Basicu

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

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

Upoštevajte, da lahko prikličete storitev Document s podajanjem "Document" ali "SFDocuments.Documentby" k CreateScriptService.


CloseDocument

Zapre dokument. Če je dokument že zaprt (ne glede na to, kako je bil zaprt), ta metoda nima učinka in vrne False.

Ta metoda vrne False, če uporabnik zavrne njeno zaprtje.

Vrne True, če je bil dokument uspešno zaprt.

Skladnja:

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

Parametri:

saveask: če je enako True (privzeto), povpraša uporabnika, da potrdi, ali naj se spremembe shranijo na disk. Ta argument je prezrt, če dokument ni bil spremenjen.

Primer:

V Basicu

    If oDoc.CloseDocument(True) Then
        ' ...
    End If
  
V Pythonu

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

CreateMenu

Ustvari nov menijski vnos v menijski vrstici danega okna dokumenta.

Ta metoda vrne instanco storitve SFWidgets.Menu.

note

Ustvarjeni meni je na voljo le med trenutno sejo LibreOffice in se ne shrani niti v dokument, niti med splošne nastavitve programa. Zato z zaprtjem okna programa meni izgine. Ponovno se pojavi, ko se makro, ki ustvari meni, ponovno izvrši.


Skladnja:

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

Parametri:

menuheader: vrhnje ime novega menija.

before: ime (kot niz) ali položaj (kot celo število, od 1 naprej) obstoječega menija, pred katerega bo postavljen nov meni. Če za ta argument vrednost ni določena, bo meni ustvarjen na zadnjem mestu v menijski vrstici.

submenuchar: ločilo za ustvarjanje menijskih dreves pri klicu metod, kot je AddItem v storitvi Menu. Privzeta vrednost je »>«.

Primer:

V Basicu

    Dim oDoc as Object, oMenu as Object
    Set oDoc = CreateScriptService("Document")
    Set oMenu = oDoc.CreateMenu("Moj meni")
    With oMenu
        ' Dodaj elemente v meni
        .AddItem("Item A")
        .AddItem("Item B")
        ' ...
        ' Po izdelavi menija se lahko znebimo instance storitve
        .Dispose()
    End With
  
V Pythonu

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

Oglejte si stran pomoči SFWidgets.Menu, da izveste več o tem, kako ustvarjati/odstranjevati menije v oknih dokumentov LibreOffice.


DeleteStyles

Potlači posamezen slog ali niz slogov, ki so podani z imeni v določeni družini slogov. Izbrišete lahko samo uporabniško določene sloge, vgrajeni slogi so prezrti. Uporablja se za vse vrste dokumentov, razen za Base in FormDocument.

Skladnja:

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

Parametri:

families: ena od družin slogov, prisotna v dejanskem dokumentu, podana kot niz, v katerem se ločuje med malimi in velikimi črkami. Imena veljavnih družin lahko pridobite z lastnostjo StyleFamilies.

stylelist: posamezno ime sloga kot niz ali polje imen slogov. Imena slogov so lahko lokalizirana ali ne. Seznam slogov StylesList je običajno rezultat izvajanja metode Styles().

Primer:

V Basicu

    ' Odstranjevanje neuporabljenih slogov odstavka
    Const family = "ParagraphStyles"
    aList = oDoc.Styles(family, used := False, userDefined := True)
    oDoc.DeleteStyles(family, aList)
  
V Pythonu

    # Odstranjevanje slogov glede na njihovo predpono
    a_list = doc.Styles('ParagraphStyles', namepattern = "Py*")
    doc.Styles('ParagraphStyles', a_list)
  

Echo

Zamrzne posodobitve uporabniškega vmesnika med izvajanjem makra. Po potrebi lahko spremenite kazalec miške v peščeno uro, medtem ko so posodobitve vmesnika zamrznjene.

tip

Ta metoda lahko pozitivno vpliva na hitrost izvajanja makrov, ki izvajajo številne operacije, ki zahtevajo posodobitev uporabniškega vmesnika.


Skladnja:

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

Parametri:

echoon: uporabite False, če želite prekiniti posodabljanje uporabniškega vmesnika. Privzeta vrednost je True, kar omogoča posodobitve vmesnika v realnem času.

hourglass: uporabite True, da spremenite kazalec miške v peščeno uro (privzeto = False).

note

Premikanje kazalca miške po spremembi v peščeno uro lahko povzroči njegov preklop v drug kazalec, odvisno od njegovega novega ozadja.


Primer:

V Basicu

    ' Zamrzne posodobitve vmesnika in spremeni kazalec miške v peščeno uro
    oDoc.Echo(EchoOn := False, HourGlass := True)
    ' Ostali ukazi makra
    ' ...
    ' Obnovi posodobitve vmesnika in kazalec miške
    oDoc.Echo()
  
V Pythonu

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

ExportAsPDF

Neposredno izvozi dokument kot datoteko PDF na navedeno mesto. Vrne True, če je bila datoteka PDF uspešno ustvarjena.

Izvozne možnosti lahko določite ročno prek pogovornega okna Datoteka – Izvozi kot – Izvozi v PDF ali s klicem metod GetPDFExportOptions in SetPDFExportOptions iz storitve Session.

Skladnja:

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

Parametri:

filename: polna pot in ime datoteke PDF, ki jo želite ustvariti. Slediti mora zapisu SF_FileSystem.FileNaming.

overwrite: določa, ali je ciljno datoteko možno prepisati (privzeta vrednost je False). Če je overwrite nastavljen na False in ciljna datoteka že obstaja, pride do napake.

pages: niz, ki določa, katere strani bodo izvožene. Ta argument uporablja isto obliko zapisa kot v pogovornem oknu Datoteka – Izvozi kot – Izvozi v PDF.

password: določa geslo za odpiranje datoteke PDF.

watermark: besedilo, ki naj bo uporabljeno v datoteki PDF za vodni žig, ki bo izrisan na vsaki strani končnega PDF.

Primer:

V Basicu

Naslednji primer izvozi trenutni dokument v datoteko PDF, določi geslo in prepiše ciljno datoteko, če že obstaja.


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

Spodnji odlomek kode pridobi trenutne izvozne možnosti za PDF in jih uporabi za ustvarjanje datoteke PDF.


    Dim exportSettings as Object, oSession as Object
    oSession = CreateScriptService("Session")
    exportSettings = oSession.GetPDFExportOptions()
    ' Možnost izvoza komentarjev kot opomb PDF nastavi na True
    exportSettings.ReplaceItem("ExportNotes", True)
    oSession.SetPDFExportOptions(exportSettings)
    oDoc.ExportAsPDF("C:\User\Documents\myFile.pdf")
  
V Pythonu

    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

Ta metoda naloži vse sloge, ki pripadajo eni ali več družin slogov iz zaprte datoteke v dejanski dokument. Slednji mora biti dokument programa Calc ali Writer.

Vedno so uvoženi skupaj:

Vrne True, če so bili slogi uspešno uvoženi.

Skladnja:

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

Parametri:

filename: ime datoteke, iz katere se naložijo slogi, v zapisu FileSystem. Za to datoteko se predvideva, da je iste vrste kot dejanski dokument.

families: ena od družin slogov, prisotna v dejavnem dokumentu, podana kot niz, v katerem se ločuje med malimi in velikimi črkami, ali kot polje takšnih nizov. Privzeto = all families (vse družine).

overwrite: če je True, bo možno prepisati trenutne sloge (privzeta vrednost je False).

Primer:

V Basicu

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

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

PrintOut

Ta metoda pošlje vsebino dokumenta privzetemu tiskalniku ali tiskalniku, ki ga določa metoda SetPrinter.

Vrne True, če je bil dokument uspešno natisnjen.

Skladnja:

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

Parametri:

pages: strani, ki jih želite natisniti, kot niz, tako kot v uporabniškem vmesniku. Primer: »1-4;10;15-18«. Privzeta vrednost je tiskanje vseh strani.

copies: število kopij. Privzeto ima vrednost 1.

Primer:

V Basicu

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

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

RemoveMenu

Odstrani vrhnji meni iz menijske vrstice danega okna dokumenta.

Vrne True, če je navedeni meni uspešno odstranjen. Če navedeni meni ne obstaja, metoda vrne False.

note

S to metodo lahko odstranite poljuben menijski vnos iz okna dokumenta, vključno s tistimi v privzetih menijih. Vendar pa se nobena od teh sprememb v menijski vrstici ne shrani v dokument ali nastavitve programa. Če želite obnoviti menijsko vrstico na privzete nastavitve, enostavno zaprite in ponovno odprite okno dokumenta.


Skladnja:

svc.RemoveMenu(menuheader: str): bool

Parametri:

menuheader: vrhnje ime menija, ki naj bo odstranjen.

Primer:

V Basicu

    Dim oDoc as Object
    Set oDoc = CreateScriptService("Document")
    oDoc.RemoveMenu("Moj meni")
  
V Pythonu

    doc = CreateScriptService("Document")
    doc.RemoveMenu("Moj meni")
  
tip

Oglejte si stran pomoči SFWidgets.Menu, da izveste več o tem, kako ustvarjati/odstranjevati menije v oknih dokumentov LibreOffice.


RunCommand

Zažene ukaz UNO v oknu dokumenta, povezanim z instanco storitve. Nekaj tipičnih ukazov: Save (Shrani), SaveAs (Shrani kot), ExportToPDF (IzvoziVPDF), Undo (Razveljavi), Copy (Kopiraj), Paste (Prilepi) itn.

Sam dokument ne rabi biti aktiven, da bi lahko izvedli ukaze.

Ukazi se lahko zaženejo z ali brez argumentov. Argumenti se ne preverjajo pred izvajanjem ukaza. Če so ukaz ali njegovi argumenti neveljavni, se ne zgodi nič.

tip

Celoten seznam ukazov UNO, ki jih lahko izvajate v LibreOffice, si oglejte na wiki-strani Development/DispatchCommands (v angl.).


Skladnja:

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

Parametri:

command: niz, ki vsebuje ime ukaza UNO. Vklučenost predpone ».uno:« ni obvezna. Sama pravilnost ukaza se ne preverja. Če se po klicu ukaza ne zgodi nič, je z ukazom oz. njegovim klicem najbrž nekaj narobe.

args: za vsak argument, ki bo posredovan ukazu, navedite par, ki vsebuje ime argumenta in njegovo vrednost.

Primer:

V Basicu

Naslednji primer izvede ukaz SelectData na delovnem listu preglednice programa Calc z imenom »MyFile.ods«, ki vrne izbor območja podatkov glede na položaj trenutno izbrane celice. Upoštevajte, da ta ukaz ne zahteva nobenih argumentov.


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

Spodaj je primer, ki zažene ukaz UNO ReplaceAll in poda vrednosti za njegove argumente SearchString in ReplaceString. Izvajanje tega ukaza zamenja vse pojavitve niza »abc« z »ABC« na trenutnem delovnem listu.


    ' Argumenti, posredovani ukazu:
    ' SearchString  = "abc"
    ' ReplaceString = "ABC"
    oDoc.RunCommand(".uno:ReplaceAll", "SearchString", "abc", "ReplaceString", "ABC")
  

Upoštevajte, da klic ukaza ReplaceAll brez argumentov odpre pogovorno okno Najdi in zamenjaj.

V Pythonu

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

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

V Pythonu lahko pokličete tudi RunCommand z argumenti ključnih besed:


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

Vsak program paketa LibreOffice ima na voljo lasten nabor ukazov. Enostaven način spoznavanja takšnih ukazov je priklic okna Orodja – Prilagodi – Tipkovnica. Ko postavite miško nad funkcijo na seznamu Funkcija, se pojavi namig z ustreznim ukazom UNO.


Save

Shrani dokument na datotečno mesto, s katerega je bil naložen. Metoda je prezrta, če dokument ni bil spremenjen.

Vrne False, če je shranjevanje dokumenta spodletelo. Če je datoteka odprta samo za branje ali če gre za novo datoteko, ki še ni bila shranjena, prikliče napako.

Sam dokument ne rabi biti aktiven, da bi lahko izvedli to metodo.

Skladnja:

svc.Save(): bool

Primer:

V Basicu

    If Not oDoc.Save() Then
        ' ...
    End If
  
V Pythonu

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

SaveAs

Shrani dokument na podano datotečno mesto. Novo mesto postane novo ime datoteke, nad katerim bodo uveljavljeni enostavni klici metode Save (Shrani).

Vrne False, če je shranjevanje dokumenta spodletelo. Prikliče napako, če je prepis cilja zavrnjen ali če ima cilj določen atribut samo za branje.

Sam dokument ne rabi biti aktiven, da bi lahko izvedli to metodo.

Skladnja:

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

Parametri:

filename: niz, ki vsebuje ime datoteke, ki ga želite uporabiti. Slediti mora zapisu SF_FileSystem.FileNaming.

overwrite: če je True, je ciljno datoteko možno prepisati (privzeto = False).

password (*): niz brez presledkov za geslo, s katerim zaščitite dokument.

filtername (*): ime filtra, ki naj bo uporabljen za shranjevanje dokumenta. Če ta argument podate, mora filter obstajati.

filteroptions (*): neobvezen niz možnosti, povezanih s filtrom.

Primer:

V Basicu

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

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

SaveCopyAs

Shrani kopijo ali izvoženi dokument na podano mesto shranjevanja. Dejansko mesto hrambe ostane nespremenjeno.

Vrne False, če je shranjevanje dokumenta spodletelo. Prikliče napako, če je prepis cilja zavrnjen ali če ima cilj določen atribut samo za branje.

Sam dokument ne rabi biti aktiven, da bi lahko izvedli to metodo.

Skladnja:

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

Parametri:

filename: niz, ki vsebuje ime datoteke, ki ga želite uporabiti. Slediti mora zapisu SF_FileSystem.FileNaming.

overwrite: če je True, je ciljno datoteko možno prepisati (privzeto = False).

password (*): niz brez presledkov za geslo, s katerim zaščitite dokument.

filtername (*): ime filtra, ki naj bo uporabljen za shranjevanje dokumenta. Če ta argument podate, mora filter obstajati.

filteroptions (*): neobvezen niz možnosti, povezanih s filtrom.

Primer:

V Basicu

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

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

SetPrinter

Določi možnosti tiskanja za dokument.

Vrne True, če uspe.

Skladnja:

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

Parametri:

printer: ime tiskalniške vrste, kamor želite tiskati. Če ta argument manjka, je nastavljen privzeti tiskalnik.

orientation določa postavitev strani in ima dve možni vrednosti: PORTRAIT (pokončno) in LANDSCAPE (ležeče). Če argument ni podan, ostane nespremenjen glede na nastavitve tiskalnika.

paperformat: določa velikost strani oz. papirja kot niz in ima možne vrednosti A3, A4, A5, LETTER, LEGAL ali TABLOID. Če argument ni podan, ostane nespremenjena privzeta vrednost.

Primer:

V Basicu

    oDoc.SetPrinter(Orientation := "PORTRAIT")
  
V Pythonu

    doc.SetPrinter(paperformat='TABLOID')
  

Styles

Pridobi seznam slogov, ki se ujemajo z neobveznim pogojem, vrnjeno polje pa je lahko prazno. Velja za vse vrste dokumentov, razen Base.

Skladnja:

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

families: ena od družin slogov, prisotna v dejanskem dokumentu, podana kot niz, v katerem se ločuje med malimi in velikimi črkami. Imena veljavnih družin lahko pridobite z lastnostjo StyleFamilies.

category: niz, pri katerem se ne razlikujejo velike in male črke: TEXT, CHAPTER, LIST, INDEX, EXTRA, HTML. Za njihove ustrezne pomene glejte dokumentacijo API: kategorija sloga odstavka (v angl.).

Ta argument je prezrt, če družina (Family) ni enaka »ParagraphStyles«.

namepattern: filter za imena sloga kot niz, ki razlikuje med velikimi in malimi črkami. Med imena so vključena notranja in prevedena imena.

Podprti so naslednji nadomestni znaki:

parentstyle: če je prisoten, so ohranjeni le podrejeni poimensko podanega, lokaliziranega ali ne, nadrejenega sloga.

used: če je True, mora biti slog uporabljen v dokumentu; če je izpuščen, je argument prezrt.

userdefined: če je True, je slog dodal uporabnik, v dokumentu ali njegovi predlogi; če ni podan, je argument prezrt.

Primer:

V Basicu

    Dim vStyles As Variant
    vSlogi = oDoc.Styles("ParagraphStyles") 'Vsi slogi v družini
    vSlogi = oDoc.Styles("ParagraphStyles", "H*") 'Naslov kot Heading, Naslov 1 kot Heading 1, ...
    vSlogi = oDoc.Styles("ParagraphStyles", Used := False, UserDefined := True) ' Vsi uporabniško določeni slogi, ki niso v rabi
    vSlogi = oDoc.Styles("ParagraphStyles", ParentStyle := "Standard") ' Vsi slogi, ki slonijo na slogu 'Privzeti slog odstavka'
  
V Pythonu

    vSlogi = doc.Styles('ParagraphStyles')  #Vsi slogi v družini
    vSlogi = doc.Styles('ParagraphStyles', 'H*')  #Naslov kot Heading, Naslov 1 kot Heading 1, ...
    vSlogi = doc.Styles('ParagraphStyles', Used = False, UserDefined = True)  # Vsi uporabniško določeni slogi, ki niso v rabi
    vSlogi = doc.Styles('ParagraphStyles', ParentStyle = 'Standard")  # Vsi slogi, ki slonijo na slogu 'Privzeti slog odstavka'
  

Toolbars

Ta metoda vrne seznam imen razpoložljivih orodnih vrstic v trenutnem dokumentu ali instanco storitve SFWidgets.Toolbar.

Skladnja:

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

Parametri:

ToolbarName: ime ene od razpoložljivih orodnih vrstic.

Primer:

V Basicu

    Dim oToolbar As Object
    Set oToolbar = oDoc.Toolbars("myToolbar")
  
V Pythonu

    a_list = doc.Toolbars()
  

XStyles

Ta metoda vrne reprezentacijo UNO podanega sloga za vse vrste dokumentov, razen za Base. Vrne Nothing, če slog z imenom StyleName v dani družini Family ne obstaja.

Skladnja:

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

Parametri:

families: ena od družin slogov, prisotna v dejanskem dokumentu, podana kot niz, v katerem se ločuje med malimi in velikimi črkami. Imena veljavnih družin lahko pridobite z lastnostjo StyleFamilies.

stylename: eden od slogov, prisotnih v dani družini, podan kot niz, ki ločuje med velikimi in malimi črkami. StyleName je lahko lokaliziran.

Primer:

V Basicu

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

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

Vsi podprogrami ali identifikatorji ScriptForge Basic s predpono podčrtaja (»_«) so rezervirani za interno uporabo. Uporabi v makrih Basic ali skriptih Python niso namenjeni.


Podprite nas!