Tulong sa LibreOffice 25.8
Ang Mga SFDocuments ang library ay nagbibigay ng mga pamamaraan at katangian upang mapadali ang pamamahala at pagmamanipula ng mga dokumento ng LibreOffice.
Ang mga pamamaraan na naaangkop para sa lahat ng uri ng mga dokumento (Mga Tekstong Dokumento, Sheet, Presentasyon, atbp) ay ibinibigay ng SFDocuments.Document serbisyo. Ang ilang mga halimbawa ay:
Pagbubukas, pagsasara at pag-save ng mga dokumento
Pag-access sa mga pamantayan o custom na katangian ng mga dokumento
Ang mga katangian, pamamaraan o argumento na minarkahan ng (*) ay HINDI naaangkop sa mga Base na dokumento .
Ang mga pamamaraan at katangian na partikular sa ilang partikular na bahagi ng LibreOffice ay iniimbak sa magkakahiwalay na serbisyo, gaya ng SFDocuments.SF_Calc at SFDocuments.SF_Base .
Bagama't ang Basic na wika ay hindi nag-aalok ng mana sa pagitan ng mga object class, ang mga huling serbisyo ay maaaring ituring bilang mga subclass ng SFDocuments.Document serbisyo. Maaaring gamitin ng mga naturang subclass ang mga katangian at pamamaraang inilarawan sa ibaba.
Bago gamitin ang Dokumento serbisyo ang ScriptForge kailangang i-load o i-import ang library:
Nasa ibaba ang tatlong variant kung paano ang Dokumento maaaring gamitin ang serbisyo.
Gamit ang getDocument pamamaraan mula sa ScriptForge . UI serbisyo:
    Dim ui As Object, oDoc As Object
    Set ui = CreateScriptService("UI")
    Set oDoc = ui.GetDocument("Untitled 1")
  Bilang kahalili maaari mong gamitin ang mga pamamaraan Lumikha ng Dokumento at OpenDocument mula sa UI serbisyo.
    Set oDocA = ui.CreateDocument("Calc")
    Set oDocB = ui.OpenDocument("C:\Documents\MyFile.odt")
  Paggamit ng pangalan ng window kung nakabukas na ang dokumento.
    Dim oDoc As Object
    Set oDoc = CreateScriptService("SFDocuments.Document", "Untitled 1") 'Default = ActiveWindow
  Gamit ang dokumentong tinukoy ni ThisComponent . Ito ay partikular na kapaki-pakinabang kapag nagpapatakbo ng isang macro mula sa loob ng Basic IDE.
    Dim oDoc As Object
    Set oDoc = CreateScriptService("Document", ThisComponent)
  Mula sa isang macro na na-trigger ng isang kaganapan ng dokumento.
    Sub RunEvent(ByRef poEvent As Object)
        Dim oDoc As Object
        Set oDoc = CreateScriptService("SFDocuments.DocumentEvent", poEvent)
        ' (...)
    End Sub
  Ang Dokumento ang serbisyo ay malapit na nauugnay sa UI at FileSystem serbisyo.
Maliban kung ang dokumento ay isinara ng programa gamit ang CloseDocument na pamamaraan (ito ay kalabisan), inirerekomenda na magbakante ng mga mapagkukunan pagkatapos gamitin:
    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)
        # (...)
  Ang paggamit ng prefix na " Mga SFDocuments. " habang ang pagtawag sa serbisyo ay opsyonal.
| Pangalan | Readonly | Type | Mga nilalaman | 
|---|---|---|---|
| CustomProperties (*) | Hindi | Dictionary service | Nagbabalik a ScriptForge.Diksyunaryo bagay na halimbawa. Pagkatapos ng pag-update, maaaring ipasa muli sa property para sa pag-update ng dokumento. | 
| Description (*) | Hindi | String | Nagbibigay ng access sa katangian ng Paglalarawan ng dokumento (kilala rin bilang "Mga Komento") | 
| DocumentProperties (*) | Mayroon | Dictionary service | Nagbabalik a ScriptForge.Diksyunaryo bagay na naglalaman ng lahat ng mga entry. Kasama ang mga istatistika ng dokumento. Tandaan na ang mga ito ay tiyak sa uri ng dokumento. Bilang halimbawa, ang isang dokumento ng Calc ay may kasamang entry na "CellCount". Ang ibang mga dokumento ay hindi. | 
| DocumentType | Mayroon | String | String value na may uri ng dokumento ("Base", "Calc", "Writer", atbp) | 
| ExportFilters (*) | Mayroon | String array | Nagbabalik ng listahan na may mga pangalan ng filter sa pag-export na naaangkop sa kasalukuyang dokumento bilang zero-based na hanay ng mga string. Ibinabalik din ang mga filter na ginamit para sa parehong pag-import/pag-export. | 
| FileSystem | Mayroon | String | Nagbabalik ng string na may URL path sa ugat ng virtual file system ng dokumento. Gamitin ang FileSystem serbisyo upang tingnan ang mga nilalaman nito, gayundin ang gumawa, magbukas at magbasa ng mga file na nakaimbak dito. Sumangguni sa itong pahina ng tulong upang matuto nang higit pa sa kung paano i-access at manipulahin ang mga folder at file sa virtual file system ng isang LibreOffice file. | 
| ImportFilters (*) | Mayroon | String array | Nagbabalik ng listahan na may mga pangalan ng filter sa pag-import na naaangkop sa kasalukuyang dokumento bilang zero-based na hanay ng mga string. Ibinabalik din ang mga filter na ginamit para sa parehong pag-import/pag-export. | 
| 
            IsBase | Mayroon | Boolean | Eksaktong isa sa mga katangiang ito ay totoo para sa isang ibinigay na dokumento. | 
| Keywords (*) | Hindi | String | Nagbibigay ng access sa property ng Mga Keyword ng dokumento. Kinakatawan bilang isang listahan ng mga keyword na pinaghihiwalay ng kuwit | 
| Readonly (*) | Mayroon | Boolean | totoo kung ang dokumento ay talagang nasa read-only mode | 
| StyleFamilies (*) | Mayroon | String array | Listahan ng mga available na pamilya ng istilo. Naaangkop sa lahat ng uri ng dokumento maliban sa Base. | 
| Subject (*) | Hindi | String | Nagbibigay ng access sa Subject property ng dokumento. | 
| Title (*) | Hindi | String | Nagbibigay ng access sa Title property ng dokumento. | 
| XComponent | Mayroon | UNO Object | Ang object ng UNO com.sun.star.lang.XComponent o com.sun.star.comp.dba.ODatabaseDocument kumakatawan sa dokumento. | 
| XDocumentSettings (*) | Mayroon | UNO Object | A com.sun.star.XXX.DocumentSettings UNO object, kung saan ang XXX ay alinman sheet , text , pagguhit o pagtatanghal . Ang bagay na ito ay nagbibigay ng access sa mga panloob na katangian ng UNO na partikular sa uri ng dokumento. | 
Ang halimbawa sa ibaba ay nagpi-print ng lahat ng mga katangian ng isang dokumento. Tandaan na ang oDoc bagay na ibinalik ng UI.OpenDocument ang pamamaraan ay a SFDocuments.Document bagay.
    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()
  Upang ma-access ang mga katangian ng dokumento sa isang script ng Python kailangan ng user na direktang ma-access ang mga ito gamit ang kanilang mga pangalan, tulad ng ipinapakita sa ibaba:
    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()
  | Listahan ng Mga Paraan sa Serbisyo ng Dokumento | ||
|---|---|---|
| 
             Activate | ||
Nagbabalik totoo kung maa-activate ang dokumento. Kung hindi, walang pagbabago sa aktwal na user interface. Ito ay katumbas ng I-activate paraan ng UI serbisyo.
Ang pamamaraang ito ay kapaki-pakinabang kapag ang isa ay kailangang magbigay ng pokus para sa isang dokumento na pinaliit o nakatago.
svc.Activate(): bool
Isinasaalang-alang ng halimbawa sa ibaba na ang file na "My_File.ods" ay bukas na ngunit hindi aktibo.
    Dim oDoc As Object
    Set oDoc = CreateScriptService("Document", "MyFile.ods")
    oDoc.Activate()
  
    doc = CreateScriptService("Document", "MyFile.ods")
    doc.Activate()
  Tandaan na maaari mong i-invoke ang Dokumento serbisyo sa pamamagitan ng pagpasa sa CreateScriptService alinman sa "Document" o "SFDocuments.Document"
Isinasara ang dokumento. Kung sarado na ang dokumento, hindi alintana kung paano isinara ang dokumento, walang epekto at babalik ang pamamaraang ito Mali .
Babalik din ang pamamaraan Mali kung tumanggi ang user na isara ito.
Nagbabalik totoo kung matagumpay na naisara ang dokumento.
svc.CloseDocument(saveask: bool = True): bool
saveask : Kung totoo (default), ang gumagamit ay iniimbitahan na kumpirmahin kung ang mga pagbabago ay dapat isulat sa disk. Binabalewala ang argumentong ito kung hindi binago ang dokumento.
    If oDoc.CloseDocument(True) Then
        ' ...
    End If
  
    if doc.CloseDocument(True):
        # ...
  Lumilikha ng bagong entry sa menu sa menubar ng isang binigay na window ng dokumento.
Ang pamamaraang ito ay nagbabalik ng isang halimbawa ng SFWidgets.Menu serbisyo.
Ang menu na ginawa ay magagamit lamang sa kasalukuyang LibreOffice session at hindi nase-save alinman sa dokumento o sa mga pangkalahatang setting ng application. Kaya ang pagsasara ng window ng dokumento ay magpapawala sa menu. Ito ay lilitaw lamang muli kapag ang macro na lumilikha ng menu ay naisakatuparan muli.
svc.CreateMenu(menuheader: str, [before: any], submenuchar: str = ">"): svc
menuheader : Ang pinakamataas na pangalan ng bagong menu.
dati : Ang pangalan (bilang isang string) o posisyon (bilang isang integer na nagsisimula sa 1) ng isang umiiral na menu bago ilalagay ang bagong menu. Kung walang tinukoy na halaga para sa argumentong ito, malilikha ang menu sa huling posisyon sa menubar.
submenuchar : Ang delimiter na ginagamit upang lumikha ng mga puno ng menu kapag tinatawag ang mga pamamaraan bilang AddItem mula sa Menu serbisyo. Ang default na halaga ay ">".
    Dim oDoc as Object, oMenu as Object
    Set oDoc = CreateScriptService("Document")
    Itakda ang oMenu = oDoc.CreateMenu("Aking Menu")
    With oMenu
        ' Magdagdag ng mga item sa menu
        .AddItem("Item A")
        .AddItem("Item B")
        ' ...
        ' Pagkatapos gawin ang menu, maaaring itapon ang instance ng serbisyo
        .Dispose()
    End With
  
    doc = CreateScriptService("Document")
    menu = doc.CreateMenu("Aking Menu")
    menu.AddItem("Item A")
    menu.AddItem("Item B")
    # ...
    menu.Dispose()
  Sumangguni sa SFWidgets.Menu pahina ng tulong upang matuto nang higit pa tungkol sa kung paano gumawa/mag-alis ng mga menu sa LibreOffice na mga window ng dokumento.
Pinipigilan ang isang istilo o isang hanay ng mga istilo na ibinigay ng kanilang mga pangalan sa loob ng isang partikular na pamilya ng mga istilo. Ang mga istilong tinukoy ng gumagamit lamang ang maaaring tanggalin, ang mga built-in na istilo ay hindi papansinin. Nalalapat ito sa lahat ng uri ng dokumento maliban sa Base at FormDocument .
svc.DeleteStyles(family: str, styleslist: str[1..*])
pamilya : Isa sa mga istilong pamilya na nasa aktwal na dokumento, bilang isang case-sensitive na string. Maaaring makuha ang mga wastong pangalan ng pamilya gamit ang StyleFamilies ari-arian.
styleslist : Isang solong pangalan ng istilo bilang isang string o isang hanay ng mga pangalan ng istilo. Ang mga pangalan ng estilo ay maaaring naisalokal o hindi. Ang StylesList ay karaniwang ang output ng pagpapatupad ng a Mga Estilo() paraan.
    ' Pag-alis ng mga hindi nagamit na istilo ng talata
    Const family = "ParagraphStyles"
    aList = oDoc.Styles(family, used := False, userDefined := True)
    oDoc.DeleteStyles(family, aList)
  
    # Pag-alis ng mga istilo ayon sa isang prefix
    a_list = doc.Styles('ParagraphStyles', namepattern = "Py*")
    doc.Styles('ParagraphStyles', a_list)
  Sinususpinde ang mga update sa user interface (UI) sa panahon ng pagpapatupad ng isang macro. Opsyonal, ang mouse pointer ay maaaring gawing isang orasa habang sinuspinde ang mga update sa UI.
Maaaring magbigay ang paraang ito ng ilang benepisyo sa pagganap para sa mga macro na nagsasagawa ng maraming operasyon na nangangailangan ng mga update sa UI.
svc.Echo(echoon: bool = True, hourglass: bool = False)
echoon : Tukuyin Mali upang suspindihin ang mga update sa UI. Ang default na halaga ay totoo , na nagbibigay-daan sa mga real time na pag-update ng UI.
orasa : Tukuyin totoo upang baguhin ang pointer ng mouse sa isang orasa (Default = Mali ).
Ang paglipat ng mouse pointer pagkatapos itong maging isang hourglass ay maaaring maging sanhi ng paglipat nito sa ibang pointer depende sa bago nitong background.
    ' Sinususpinde ang mga update sa UI at binago ang pointer ng mouse sa isang orasa
    oDoc.Echo(EchoOn := False, HourGlass := True)
    ' Iba pang mga macro command
    ' ...
    ' Ibinabalik ang mga update sa UI at mouse pointer
    oDoc.Echo()
  
    doc.Echo(echoon = False, hourglass = True)
    ...
    doc.Echo()
  Direktang ine-export ang dokumento bilang isang PDF file sa tinukoy na lokasyon. Nagbabalik totoo kung matagumpay na nalikha ang PDF file.
Ang mga opsyon sa pag-export ay maaaring itakda nang manu-mano gamit ang dialog o sa pamamagitan ng pagtawag sa mga pamamaraan GetPDFExportOptions at SetPDFExportOptions mula sa Sesyon serbisyo.
svc.ExportAsPDF(filename: str, overwrite: bool = False, opt pages: str, opt password: str, opt watermark: str): bool
filename : Ang buong path at pangalan ng file ng PDF na gagawin. Dapat itong sundin ang SF_FileSystem.FileNaming notasyon.
overwrite : Tinutukoy kung ang patutunguhang file ay maaaring ma-overwrite (Default = Mali ). Ang isang error ay magaganap kung overwrite ay nakatakda sa Mali at umiiral na ang patutunguhang file.
mga pahina : String na tumutukoy kung aling mga pahina ang ie-export. Ang argumentong ito ay gumagamit ng parehong notasyon tulad ng sa dialog .
password : Tumutukoy ng password para buksan ang PDF file.
watermark : Tekstong gagamitin bilang watermark sa PDF file, na iguguhit sa bawat pahina ng magreresultang PDF.
Ang sumusunod na halimbawa ay nag-e-export ng kasalukuyang dokumento bilang isang PDF file, tumutukoy sa isang password at nag-o-overwrite sa patutunguhang file kung mayroon na ito.
    oDoc.ExportAsPDF("C:\User\Documents\myFile.pdf", Password := "1234", Overwrite := True)
  Nakukuha ng snippet ng code sa ibaba ang kasalukuyang mga opsyon sa pag-export ng PDF at ginagamit ang mga ito upang gawin ang PDF file.
    Dim exportSettings as Object, oSession as Object
    oSession = CreateScriptService("Session")
    exportSettings = oSession.GetPDFExportOptions()
    ' Itinatakda sa True ang opsyong i-export ang mga komento bilang mga tala sa PDF
    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")
  Ang pamamaraang ito ay nagpapadala ng mga nilalaman ng dokumento sa default na printer o sa printer na tinukoy ng SetPrinter paraan.
Nagbabalik totoo kung matagumpay na nai-print ang dokumento.
svc.PrintOut(pages: str = "", copies: num = 1): bool
mga pahina : Ang mga pahinang ipi-print bilang isang string, tulad ng sa user interface. Halimbawa: "1-4;10;15-18". Default ay lahat ng mga pahina.
mga kopya : Ang bilang ng mga kopya. Ang default ay 1.
    If oDoc.PrintOut("1-4;10;15-18", Copies := 2) Then
        ' ...
    End If
  
    if doc.PrintOut(copies=3, pages='45-88'):
        # ...
  Tinatanggal ang isang toplevel na menu mula sa menubar ng isang binigay na window ng dokumento.
Nagbabalik totoo kung maaaring alisin ang tinukoy na menu. Kung wala ang tinukoy na menu, babalik ang pamamaraan Mali .
Maaaring gamitin ang paraang ito upang alisin ang anumang entry sa menu mula sa window ng dokumento, kabilang ang mga default na menu. Gayunpaman, wala sa mga pagbabagong ito sa menubar ang nai-save sa dokumento o sa mga setting ng application. Upang ibalik ang menubar sa mga default na setting, isara lang at buksang muli ang window ng dokumento.
svc.RemoveMenu(menuheader: str): bool
menuheader : Ang toplevel na pangalan ng menu na aalisin.
    Dim oDoc as Object
    Set oDoc = CreateScriptService("Document")
    oDoc.RemoveMenu("Aking Menu")
  
    doc = CreateScriptService("Document")
    doc.RemoveMenu("Aking Menu")
  Nagpapatakbo ng UNO command sa window ng dokumento na nauugnay sa instance ng serbisyo. Ang ilang karaniwang mga utos ay: Save, SaveAs, ExportToPDF, Undo, Copy, Paste, atbp.
Ang mismong dokumento ay hindi kailangang maging aktibo upang makapagpatakbo ng mga utos.
Ang mga utos ay maaaring patakbuhin nang may mga argumento o walang. Ang mga argumento ay hindi napatunayan bago patakbuhin ang utos. Kung ang utos o ang mga argumento nito ay hindi wasto, kung gayon walang mangyayari.
Para sa kumpletong listahan ng mga utos ng UNO na maaaring patakbuhin sa LibreOffice, sumangguni sa pahina ng Wiki Development/DispatchCommands .
svc.RunCommand(command: str, [args: any])
utos : Case-sensitive na string na naglalaman ng UNO command name. Opsyonal ang pagsasama ng prefix na ".uno:" sa command. Ang utos mismo ay hindi sinusuri para sa kawastuhan. Kung walang nangyari pagkatapos ng command call, malamang na mali ang command.
args : Para sa bawat argument na ipapasa sa command, tukuyin ang isang pares na naglalaman ng pangalan ng argumento at halaga.
Ang sumusunod na halimbawa ay nagpapatakbo ng SelectData command sa isang Calc file na pinangalanang "MyFile.ods", na magreresulta sa pagpili ng lugar ng data batay sa kasalukuyang napiling cell. Tandaan na ang utos na ito ay hindi nangangailangan ng anumang mga argumento.
    Set oDoc = CreateScriptService("Document", "MyFile.ods")
    oDoc.RunCommand("SelectData")
  Nasa ibaba ang isang halimbawa na nagpapatakbo ng UNO command PalitanLahat at nagpapasa ng mga halaga para sa mga argumento nito SearchString at ReplaceString . Papalitan ng pagpapatakbo ng command na ito ang lahat ng paglitaw ng string na "abc" ng "ABC" sa kasalukuyang sheet.
    ' Ang mga argumento ay ipinasa sa utos:
    ' SearchString  = "abc"
    ' ReplaceString = "ABC"
    oDoc.RunCommand(".uno:ReplaceAll", "SearchString", "abc", "ReplaceString", "ABC")
  Tandaan na ang pagtawag sa command PalitanLahat walang argumento ay magbubukas ng diyalogo.
    doc = CreateScriptService("Document", "MyFile.ods")
    doc.RunCommand("SelectData")
  
    doc.RunCommand(".uno:ReplaceAll", "SearchString", "abc", "ReplaceString", "ABC")
  Sa Python posible ring tumawag RunCommand gamit ang mga argumento ng keyword:
    doc.RunCommand(".uno:ReplaceAll", SearchString = "abc", ReplaceString = "ABC")
  Ang bawat bahagi ng LibreOffice ay may sariling hanay ng mga command na magagamit. Ang isang madaling paraan upang matutunan ang mga utos ay pupunta Mga Tool - I-customize - Keyboard . Kapag ipinwesto mo ang iyong mouse sa ibabaw ng isang function sa Function list, lalabas ang isang tooltip kasama ang kaukulang utos ng UNO.
Iniimbak ang dokumento sa lokasyon ng file kung saan ito na-load. Ang pamamaraan ay hindi papansinin kung ang dokumento ay hindi binago.
Nagbabalik Mali kung hindi ma-save ang dokumento. Ang isang error ay itinaas kung ang file ay bukas bilang read-only, o kung ito ay isang bagong file na hindi pa nai-save.
Ang mismong dokumento ay hindi kailangang maging aktibo upang patakbuhin ang pamamaraang ito.
svc.Save(): bool
    If Not oDoc.Save() Then
        ' ...
    End If
  
    if not doc.Save():
        # ...
  Iniimbak ang dokumento sa ibinigay na lokasyon ng file. Ang bagong lokasyon ay nagiging bagong pangalan ng file kung saan ilalapat ang mga simpleng tawag sa paraan ng Pag-save.
Nagbabalik Mali kung hindi ma-save ang dokumento. Ang isang error ay itinaas kapag ang pag-overwrite sa patutunguhan ay tinanggihan o kapag ang patutunguhan ay may nakatakdang read-only na attribute.
Ang mismong dokumento ay hindi kailangang maging aktibo upang patakbuhin ang pamamaraang ito.
svc.SaveAs(filename: str, overwrite: bool = False, password: str = '', filtername: str = '', filteroptions: str = ''): bool
filename : Isang string na naglalaman ng pangalan ng file na gagamitin. Dapat itong sundin ang SF_FileSystem.FileNaming notasyon.
overwrite : Kung totoo , ang patutunguhang file ay maaaring ma-overwrite (default = Mali ).
password (*): Isang string na hindi espasyo para protektahan ang dokumento.
filtername (*): Ang pangalan ng isang filter na dapat gamitin para sa pag-save ng dokumento. Kung naipasa ang argumentong ito, dapat na umiiral ang filter.
mga pagpipilian sa filter (*): Isang opsyonal na string ng mga opsyon na nauugnay sa filter.
    oDoc.SaveAs("C:\Documents\NewCopy.odt", overwrite := True)
  
    doc.SaveAs(r"C:\Documents\NewCopy.odt", overwrite = True)
  Nag-iimbak ng kopya ng o i-export ang dokumento sa ibinigay na lokasyon ng file. Ang aktwal na lokasyon ay hindi nagbabago.
Nagbabalik Mali kung hindi ma-save ang dokumento. Ang isang error ay itinaas kapag ang pag-overwrite sa patutunguhan ay tinanggihan o kapag ang patutunguhan ay may nakatakdang read-only na attribute.
Ang mismong dokumento ay hindi kailangang maging aktibo upang patakbuhin ang pamamaraang ito.
svc.SaveCopyAs(filename: str, overwrite: bool = False, password: str = '', filtername: str = '', filteroptions: str = ''): bool
filename : Isang string na naglalaman ng pangalan ng file na gagamitin. Dapat itong sundin ang SF_FileSystem.FileNaming notasyon.
overwrite : Kung totoo , ang patutunguhang file ay maaaring ma-overwrite (default = Mali ).
password (*): Isang string na hindi espasyo para protektahan ang dokumento.
filtername (*): Ang pangalan ng isang filter na dapat gamitin para sa pag-save ng dokumento. Kung naipasa ang argumentong ito, dapat na umiiral ang filter.
mga pagpipilian sa filter (*): Isang opsyonal na string ng mga opsyon na nauugnay sa filter.
    oDoc.SaveCopyAs("C:\Documents\Copy2.odt", Overwrite := True)
  
    doc.SaveCopyAs(r"C:\Documents\Copy2.odt", overwrite = True)
  Tinutukoy ang mga opsyon sa printer para sa dokumento.
Nagbabalik totoo kapag matagumpay.
svc.SetPrinter(opt printer: str, opt orientation: str, paperformat: str): bool
printer : Ang pangalan ng queue ng printer kung saan magpi-print. Kapag wala, nakatakda ang default na printer.
oryentasyon : Alinman LARAWAN o LANDSCAPE . Kapag wala, iniwang hindi nagbabago kaugnay ng mga setting ng printer.
pormat ng papel : Tinutukoy ang format ng papel bilang isang string value na maaaring alinman A3 , A4 , A5 , LIHAM , LEGAL o TABLOID . Hindi nababago kapag wala.
    oDoc.SetPrinter(Orientation := "PORTRAIT")
  
    doc.SetPrinter(paperformat='TABLOID')
  Kinukuha ang isang listahan ng mga istilo na tumutugma sa isang opsyonal na pamantayan ng tambalan, ang ibinalik na array ay maaaring walang laman. Nalalapat ito sa lahat ng uri ng dokumento maliban sa Base .
svc.Styles(family, opt namepattern: str, opt used: bool, opt userdefined: bool, opt parentstyle: str, opt category: str): str[0..*])
kategorya : Isang case-insensitive na string: TEXT, CHAPTER, LIST, INDEX, EXTRA, HTML. Para sa kani-kanilang kahulugan, sumangguni sa kategorya ng istilo ng talata Dokumentasyon ng API.
Ang argumentong ito ay binabalewala kapag ang Pamilya ay naiiba sa "ParagraphStyles".
namepattern : Isang filter sa mga pangalan ng istilo, bilang pattern ng string na sensitibo sa case. Kasama sa mga pangalan ang panloob at lokal na pangalan.
Ang mga tinatanggap na wildcard ay:
ang "?" kumakatawan sa anumang solong karakter.
ang "*" na kumakatawan sa zero, isa, o maramihang character
parentstyle : Kapag naroroon, tanging ang mga anak ng ibinigay, naisalokal o hindi, pangalan ng istilo ng magulang ang pananatilihin.
ginamit : Kailan totoo , ang estilo ay dapat gamitin sa dokumento, kapag wala ang argumento ay binabalewala.
userdefined : Kailan totoo , ang estilo ay dapat na idinagdag ng gumagamit, alinman sa dokumento o template nito, kapag wala, ang argumento ay hindi papansinin.
    Dim vStyles As Variant
    vStyles = oDoc.Styles("ParagraphStyles") 'Lahat ng estilo sa pamilya
    vStyles = oDoc.Styles("ParagraphStyles", "H*") 'Heading, Heading 1, ...
    vStyles = oDoc.Styles("ParagraphStyles", Used := False, UserDefined := True) ' Lahat ng user-defined style na hindi ginagamit
    vStyles = oDoc.Styles("ParagraphStyles", ParentStyle := "Standard") ' Lahat ng mga istilo ay nagmula sa 'Default na Estilo ng Talata'
  
    vStyles = doc.Styles('ParagraphStyles') #Lahat ng istilo sa pamilya
    vStyles = doc.Styles('ParagraphStyles', 'H*') #Heading, Heading 1, ...
    vStyles = doc.Styles('ParagraphStyles', Used = False, UserDefined = True) # Lahat ng user-defined style na hindi ginagamit
    vStyles = doc.Styles('ParagraphStyles', ParentStyle = 'Standard") # Lahat ng mga istilo ay nagmula sa "Default na Estilo ng Talata"
  Ibinabalik ng pamamaraang ito ang alinman sa isang listahan ng magagamit na mga pangalan ng toolbar sa aktwal na dokumento o isang instance SFWidgets.Toolbar serbisyo.
    svc.Toolbars(opt ToolbarName: str): uno
    svc.Toolbars(): str[0..]
  
ToolbarName : Ang karaniwang pangalan ng isa sa mga magagamit na toolbar.
    Dim oToolbar As Object
    Set oToolbar = oDoc.Toolbars("myToolbar")
  
    a_list = doc.Toolbars()
  Ibinabalik ng pamamaraang ito ang representasyon ng UNO ng isang ibinigay na istilo para sa lahat ng uri ng dokumento maliban sa Base . wala ay ibinabalik kapag ang StyleName ay wala sa ibinigay na pamilya.
svc.XStyles(family: str, stylename: str): uno
stylename : Isa sa mga istilong naroroon sa ibinigay na pamilya, bilang isang case-sensitive na string. Ang StyleName maaaring localized o hindi.
    Dim oStyle As Object
    Set oStyle = oDoc.XStyle("ParagraphStyle", "Heading 2")
  
    oStyle = doc.XStyle('ParagraphStyle', 'Heading 2')