Edukiak

# SFDocuments.Document zerbitzua

SFDocuments liburutegiak LibreOffice dokumentuen kudeaketa eta manipulazioa errazteko metodoak eta propietateak eskaintzen ditu.

SFDocuments.Document zerbitzuak dokumentu mota guztietan (testu-dokumentuak, kalkulu-orriak, aurkezpenak, etab.) aplikagarriak diren metodoak eskaintzen ditu. Zenbait adibide:

- Dokumentuak irekitzea, ixtea eta gordetzea

- Dokumentuen propietate estandarrak edo pertsonalizatuak atzitzea

(*) ikurrarekin markatutako propietateak, metodoak eta argumentuak EZ dira aplikagarriak Base dokumentuetan.

LibreOffice osagai jakin batzuentzat espezifikoak diren metodoak eta propietateak zerbitzu bereizietan biltegiratzen dira, adibidez SFDocuments.SF_Calc eta SFDocuments.SF_Base zerbitzuetan.

Basic lengoaiak ez du objektu-klaseen arteko herentzia eskaintzen, baina azken zerbitzu horiek SFDocuments.Document zerbitzuaren azpiklasetzat hartu daitezke. Azpiklase horiek behean deskribatutako propietate eta metodoei deitu diezaiekete.

## Zerbitzuari deitzea

Document zerbitzua erabiltzeko, ScriptForge liburutegia kargatu edo inportatu behar da:

• Basic makroak erabiltzkeo, ScriptForge liburutegia kargatu behar da honako instrukzioa erabiliz:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Python scriptak erabiltzeko, berriz, scriptforge modulu baten inportazioa behar dute:
from scriptforge import CreateScriptService

Behean, Document zerbitzuari deitzeko hiru aldera ikusi daitezke.

##### Basic lengoaian

ScriptForge.UI zerbitzuaren getDocument metodoa erabilita:

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

Horren ordez, UI zerbitzuaren CreateDocument eta OpenDocument ere erabili daitezke.

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

Leiho-izen bat erabiltzea dokumentua jadanik irekita dagoenean.

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

ThisComponent objektuak erreferentziatzen duen dokumentua erabiliz. Hori batez ere Basic IDEaren barrutik makro bat exekutatzean da erabilgarria.

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

Dokumentu-gertaera batetik abiarazitako makro batetik.

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

Document zerbitzuak erlazio estua du UI eta FileSystem zerbitzuekin.

Dokumentua 'CloseDocument' metodoa erabilita itxi denean salbu (kasu horretan, ez da beharrezkoa), gomendagarria da baliabideak askatzea haiek erabili ondoren:

        Set oDoc = oDoc.Dispose()

##### Python lengoaian

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

Ez da derrigorrezkoa "SFDocuments." aurrizkia erabiltzea zerbitzuari deitzen zaionean.

## Propietateak

Izena | Irakurtzeko soilik | Mota | Deskribapena
--- | --- | --- | ---
CustomProperties (*) | Ez | Dictionary service | ScriptForge.Dictionary objektuaren instantzia bat itzultzen du. Eguneratu ondoren, berriro dokumentua eguneratzeko propietateari pasatu ahal zaio. Kateak, zenbakiak (Basic) datak edo com.sun.star.util.Duration elementuak izan daitezke hiztegiaren banakako dokumentuak.
Description (*) | Ez | String | Dokumentuaren 'Description' ("Comments" izenarekin ere ezaguna) propietatea atzitzeko sarbidea ematen du.
DocumentProperties (*) | Bai | Dictionary service | Sarrera guztiak dituen ScriptForge.Dictionary objektu bat itzultzen du. Dokumentu-estatistiak barne hartzen ditu. Kontuan izan dokumentu motaren araberakoak direla. Adibidez, Calc dokumentu batek "CellCount" sarrera bat du. Beste dokumentu batzuek ez dute.
DocumentType | Bai | String | Dokumentu mota ("Base", "Calc", "Writer", etab.) adierazten duen kate-balioa.
ExportFilters (*) | Bai | String array | Uneko dokumentuari aplikatu dakizkiokeen esportazioko iragazki-izenak dituen zerrenda bat itzultzen du, zeron oinarritutako kate-matrize gisa. Inportatzeko/esportatzeko erabiltzen diren iragazkiak ere itzultzen dira.
FileSystem | Yes | String | Returns a string with the URL path to the root of the virtual file system of the document. Use the FileSystem service to view its contents, as well as to create, open and read files stored in it. Refer to this help page to learn more on how to access and manipulate folders and files in the virtual file system of a LibreOffice file.
ImportFilters (*) | Bai | String array | Uneko dokumentuari aplikatu dakizkiokeen inportazioko iragazki-izenak dituen zerrenda bat itzultzen du, zeron oinarritutako kate-matrize gisa. Inportatzeko/esportatzeko erabiltzen diren iragazkiak ere itzultzen dira.
IsAlive | Yes | Boolean | True when the document has not been closed (f.i. by a user action).
IsBase IsCalc IsDraw IsFormDocument IsImpress IsMath IsWriter | Bai | Boolean | Propietate horietako bat True da dokumentu jakin baterako.
Keywords (*) | Ez | String | Dokumentuaren 'Keywords' propietatea atzitzeko sarbidea ematen du. Komaz banandutako gako-hitzen zerrenda gisa irudikatzen da.
MenuHeaders | Yes | String array | Returns a list with the menu names present in the menubar.
Readonly (*) | Bai | Boolean | True dokumentua irakurtzeko moduan badago jadanik.
StyleFamilies (*) | Yes | String array | List of available style families. Applicable to all document types except Base.
Subject (*) | Ez | String | Dokumentuaren 'Subject' propietatea atzitzeko sarbidea ematen du.
Title (*) | Ez | String | Dokumentuaren 'Title' propietatea atzitzeko sarbidea ematen du.
XComponent | Bai | UNO objektua | The UNO object com.sun.star.lang.XComponent or com.sun.star.comp.dba.ODatabaseDocument representing the document.
XDocumentSettings (*) | Yes | UNO Object | A com.sun.star.XXX.DocumentSettings UNO object, where XXX is either sheet, text, drawing or presentation. This object gives access to the internal UNO properties that are specific to the document's type.

### Adibidea:

##### Basic lengoaian

Beheko adibideak dokumentu baten propietate guztiak inprimatzen ditu. Kontuan hartu UI.OpenDocument metodoak itzultzen duen oDoc objektua SFDocuments.Document objektu bat dela.

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

##### Python lengoaian

Dokumentuaren propietateak Python script batetik atzitzeko, erabiltzaileak zuzenean atzitu behar ditu haien izenak erabilita, behean erakusten den moduan:

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

Document zerbitzuaren metodoen zerrenda
Activate CloseDocument ContextMenus CreateMenu DeleteStyles Echo | ExportAsPDF PrintOut RemoveMenu RunCommand Save SaveAs | SaveCopyAs SetPrinter Style Toolbars XStyle

## Activate

True itzultzen du dokumentua aktibatu badaiteke. Bestela, ez da aldaketarik egongo uneko erabiltzaile-interfazean. UI zerbitzuaren Activate metodoaren baliokidea da.

Metodo hau ikonotuta edo ezkutuan dagoen dokumentu bat fokuratu nahi denean da erabilgarria.

### Sintaxia:

svc.Activate(): bool

### Adibidea:

Beheko adibidean, "My_File.ods" fitxategia jadanik irekita baina inaktibo dagoela kontsideratzen da.

##### Basic lengoaian

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

##### Python lengoaian

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

Kontuan izan Document zerbitzuari deitzeko, CreateScriptService metodoari "Document" edo "SFDocuments.Document" pasatuta egin daitekeela.

## CloseDocument

Dokumentua ixten du. Dokumentua jadanik itxita badago, berdin dio dokumentua nola itxi zen, metodo honek ez du eraginik eta False itzultzen du.

Erabiltzaileak hura ixtea baztertzen badu ere, metodoak False itzuliko du.

True itzultzen du dokumentua ongi itxi bada.

### Sintaxia:

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

### Parametroak:

saveask: True (balio lehenetsia) bada, erabiltzaileak baieztatu egin beharko du aldaketak diskoan idatziko diren ala ez. Argumentu honi ez ikusiarena egingo zaio dokumentua aldatu ez bada.

### Adibidea:

##### Basic lengoaian

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

##### Python lengoaian

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

## ContextMenus

This method returns either a list of the available context menus in the actual document or a SFWidgets.ContextMenu service instance.

### Sintaxia:

svc.ContextMenus(opt contextmenuname: str, submenuchar: str = ">"): svc
svc.ContextMenus(): str[0..]

### Parametroak:

contextmenuname: One of the available context menus. The name of a context menu is the last component of the resource URL: "private:resource/popupmenu/the-name-here".

submenuchar: The delimiter used to create menu trees when calling methods as AddItem from the ContextMenu service. The default value is ">".

### Adibidea:

##### Basic lengoaian

                Dim oContextMenu As Object
                Set oContextMenu = oDoc.ContextMenus("cell")

##### Python lengoaian

                a_list = doc.ContextMenus()

## CreateMenu

Menu-sarrera berria sortzen du emandako dokumentu-leiho baten menu-barran.

Metodo honek SFWidgets.Menu zerbitzuaren instantzia bat itzultzen du.

Sortutako menua LibreOffice saioan soilik egongo da erabilgarri eta ez da gordeko ez dokumentuan ez aplikazioaren ezarpen globaletan. Hortaz, dokumentu-leihoa ixten bada menua desagertuko da. Menua sortu duen makroa berriro exekutatzen denean soilik agertuko da berriro.

### Sintaxia:

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

### Parametroak:

menuheader: Menu berriaren goi mailako izena.

before: Lehendik dagoen menu baten izena (kate gisa) edo kokagunea (1 zenbakian hasten den osoko zenbaki gisa). Menu berria horren aurrean kokatuko da. Argumentu honetan ez bada baliorik ezartzen, menua menu-barraren azken kokagunean sortuko da.

submenuchar: Menu zerbitzuko AddItem bezalako metodoak deitzean menu-zuhaitzak sortzeko erabiliko den mugatzailea. Balio lehenetsia ">" da.

### Adibidea:

##### Basic lengoaian

        Dim oDoc as Object, oMenu as Object
        Set oDoc = CreateScriptService("Document")
        Set oMenu = oDoc.CreateMenu("Nire menua")
        With oMenu
            ' Menuari elementuak gehitzen dizkio
            .AddItem("Item A")
            .AddItem("Item B")
            ' ...
            ' Menua sortu ondoren, zerbitzu-instantzia baztertu egin daiteke
            .Dispose()
        End With

##### Python lengoaian

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

Begiratu SFWidgets.Menu zerbitzuaren laguntza-orria LibreOffice dokumentu-leihoetako menuak sortzen/kentzen ikasteko.

## DeleteStyles

Suppresses a single style or an array of styles given by their names within a specific styles family. Only user-defined styles may be deleted, built-in styles are ignored. It applies to all document types except Base and FormDocument.

### Sintaxia:

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

### Parametroak:

family: One of the style families present in the actual document, as a case-sensitive string. Valid family names can be retrieved using StyleFamilies property.

styleslist: A single style name as a string or an array of style names. The style names may be localized or not. The StylesList is typically the output of the execution of a Styles() method.

### Adibidea:

##### Basic lengoaian

        ' Removing unused paragraph styles
        Const family = "ParagraphStyles"
        aList = oDoc.Styles(family, used := False, userDefined := True)
        oDoc.DeleteStyles(family, aList)

##### Python lengoaian

        # Removing styles according to a prefix
        a_list = doc.Styles('ParagraphStyles', namepattern = "Py*")
        doc.Styles('ParagraphStyles', a_list)

## Echo

Suspends user interface (UI) updates during the execution of a macro. Optionally, the mouse pointer can be changed into an hourglass while UI updates are suspended.

This method may provide some performance benefits for macros that perform numerous operations that require UI updates.

### Sintaxia:

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

### Parametroak:

echoon: Specify False to suspend UI updates. The default value is True, which enables real time UI updates.

hourglass: Specify True to change the mouse pointer to an hourglass (Default = False).

Moving the mouse pointer after it changed to an hourglass may cause it to switch to a different pointer depending on its new background.

### Adibidea:

##### Basic lengoaian

        ' Suspends UI updates and change mouse pointer to an hourglass
        oDoc.Echo(EchoOn := False, HourGlass := True)
        ' Other macro commands
        ' ...
        ' Restores UI updates and mouse pointer
        oDoc.Echo()

##### Python lengoaian

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

## ExportAsPDF

Dokumentua zuzenean PDF modura esportatzen du zehaztutako kokalekura. True itzultzen du PDF fitxategia ongi sortzen bada.

Esportazioaren aukerak eskuz ezarri daitezke Fitxategia - Esportatu honela - Esportatu PDF gisa elkarrizketa-koadroan edo Session zerbitzuaren GetPDFExportOptions eta SetPDFExportOptions erabili daitezke ezarpenak zehazteko.

### Sintaxia:

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

### Parametroak:

filename: Sortuko den PDFaren bide-izen osoa eta fitxategi-izena. SF_FileSystem.FileNaming notazioa jarraitu behar da.

overwrite: Helburuko fitxategia gainidatzi daitekeen ala ez zehazten du (Balio lehenetsia = False). Errore bat gertatuko da overwrite parametroan False ezartzen bada eta helburuko fitxategia lehendik badago.

pages: Esportatuko diren orrialdeak zehazten dituen katea. Argumentu honek Fitxategia - Esportatu honela - Esportatu PDF gisa elkarrizketa-koadroan erabilitako notazio bera darabil.

password: PDF fitxategia irekitzeko pasahitz bat zehazten du.

watermark: PDF fitxategian ur-marka modura erabiliko den testua. Emaitza gisa sortuko den PDFaren orrialde guztietan marraztuko da.

### Adibidea:

##### Basic lengoaian

Hurrengo adibidean, uneko dokumentua PDF fitxategi gisa esportatzen da, pasahitz bat definitzen da eta helburuko fitxategia gainidazten da, horrelakorik lehendik badago.

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

Beheko kode-zatiak PDFen uneko esportazio-aukerak hartzen ditu eta PDF fitxategia sortzeko erabiltzen ditu.

        Dim exportSettings as Object, oSession as Object
        oSession = CreateScriptService("Session")
        exportSettings = oSession.GetPDFExportOptions()
        ' Iruzkinak PDF ohar modura esportatzeko aukeran True (egia) ezartzen du
        exportSettings.ReplaceItem("ExportNotes", True)
        oSession.SetPDFExportOptions(exportSettings)
        oDoc.ExportAsPDF("C:\User\Documents\myFile.pdf")

##### Python lengoaian

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

## PrintOut

Metodo honen bidez, dokumentuaren edukia inprimagailu lehenetsira edo SetPrinter() metodoak definitutako inprimagailura bidaltzen da.

True itzultzen du dokumentua ongi inprimatu bada.

### Sintaxia:

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

### Parametroak:

pages: Inprimatuko diren orrialdeak, kate gisa, erabiltzaile-interfazean bezala. Adibidea: "1-4;10;15-18". Balio lehenetsia orrialde guztiak dira.

copies: Kopia kopurua. Balio lehenetsia 1 da.

### Adibidea:

##### Basic lengoaian

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

##### Python lengoaian

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

## RemoveMenu

Goi mailako menua kentzen du emandako dokumentu-leiho bateko menu-barratik.

True itzuliko du adierazitako menua kendu ahal izan bada. Adierazitako menua existitzen ez bada, metodoak False itzuliko du.

Metodo hau dokumentu-leihoko edozein menu-sarrera kentzeko erabili daiteke, baita menu lehenetsiak kentzeko ere. Hala ere, menu-barraren aldaketa horietako bat ere ez da dokumentuan edo aplikazioaren ezarpenetan gordeko. Menu-barran ezarpen lehenetsiak berrezartzeko, itxi eta berriro ireki dokumentu-leihoa.

### Sintaxia:

svc.RemoveMenu(menuheader: str): bool

### Parametroak:

menuheader: Kenduko den menuaren goi mailako izena.

### Adibidea:

##### Basic lengoaian

        Dim oDoc as Object
        Set oDoc = CreateScriptService("Document")
        oDoc.RemoveMenu("Nire menua")

##### Python lengoaian

        doc = CreateScriptService("Document")
        doc.RemoveMenu("Nire menua")

Begiratu SFWidgets.Menu zerbitzuaren laguntza-orria LibreOffice dokumentu-leihoetako menuak sortzen/kentzen ikasteko.

## RunCommand

UNO komando bat exekutatzen du zerbitzu-instantziari lotutako dokumentu-leihoan. Komando ezagunenetako batzuk: Save, SaveAs, ExportToPDF, Undo, Copy, Paste.

Dokumentuak berak ez du aktibo egon behar komandoak exekutatu ahal izateko.

Komandoak argumentuekin edo argumenturik gabe exekutatu daitezke. Argumentuak ez dira baliozkotzen komandoa exekutatu aurretik. Komandoa edo argumentuak baliogabeak badira, ez da ezer gertatuko.

LibreOffice aplikazioan exekutatu daitezkeen UNO komandoen zerrenda osoa kontsultatzeko, begiratu wikiko Development/DispatchCommands orria.

### Sintaxia:

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

### Parametroak:

command: Maiuskulak/minuskulak bereizten dituen katea, UNO komandoaren izena duena. Komandoan ".uno:" aurrizkia sartu daiteke. Komandoaren zuzentasuna ez da egiaztatzen. Komandoari deitu ondoren ez bada ezer gertatzen, seguru asko komandoa gaizki idatzi da.

args: Komandoari pasatuko zaion argumentu bakoitzeko, zehaztu argumentuaren izena eta balioa dituen bikote bat.

### Adibidea:

##### Basic lengoaian

Hurrengo adibidean, SelectData komandoa exekutatzen da "MyFile.ods" izeneko Calc fitxategi batean, eta horren ondorioz, unean hautatutako gelaxkan oinarritutako datu-area hautatuko da. Kontuan izan komando honek ez duela argumenturik behar.

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

Behean, ReplaceAll UNO komandoa exekutatzen duen eta bere SearchString eta ReplaceString argumentuetarako balioak pasatzen dituen adibide bat. Komando hori exekutatzean, "abc" katearen agerraldi guztiak hartu eta "ABC" katearekin ordeztuko ditu uneko orrian.

        ' Komandoari pasatutako argumentuak:
        ' SearchString  = "abc"
        ' ReplaceString = "ABC"
        oDoc.RunCommand(".uno:ReplaceAll", "SearchString", "abc", "ReplaceString", "ABC")

Kontuan izan ReplaceAll funtzioari argumenturik gabe deitzen bazaio Bilatu eta ordeztu elkarrizketa-koadroa irekiko dela.

##### Python lengoaian

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

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

Python lengoaian posible da RunCommand komandoari deitzea gako-hitz argumentuak erabiliz:

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

LibreOffice suitearen osagai bakoitzak bere komando multzoa du. Komandoak ikasteko modu erraz bat Trsnak - Pertsonalizatu - Teklatua atala bisitatzea da. Sagua Funtzioa zerrendako funtzioetako batean kokatzean, hari dagokion UNO komandoa erakusten da aholku batean.

## Save

Dokumentua kargatu zen fitxategi-kokalekuan bertan gordetzen du. Metodoari ez ikusiarena egingo zaio dokumentua aldatu ez bada.

False itzuliko du dokumentua ezin bada gorde. Errore bat sortuko da fitxategia soilik irakurtzeko moduan irekita badago, edo oraindik gorde ez den dokumentu berria bada.

Dokumentuak ez du aktibo egon behar metodo hori exekutatzeko.

### Sintaxia:

svc.Save(): bool

### Adibidea:

##### Basic lengoaian

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

##### Python lengoaian

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

## SaveAs

Dokumentua emandako fitxategi-kokalekuan gordetzen du. Kokaleku berria fitxategi-izen berria bihurtuko da, eta harekin, gordetzeko metodo-dei sinpleak aplikatu ahal izango dira.

False itzuliko du dokumentua ezin bada gorde. Errore bat sortuko da helburua gainidaztea ukatzen bada edo helburuak soilik irakurtzeko atributua ezarrita badu.

Dokumentuak ez du aktibo egon behar metodo hori exekutatzeko.

### Sintaxia:

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

### Parametroak:

filename: Erabiliko den fitxategi-izena duen kate bat. SF_FileSystem.FileNaming notazioa jarraitu behar du.

overwrite: True bada, helburu-fitxategia gainidatzi daiteke (lehenetsia = False).

password (*): Dokumentua babesteko erabiliko den zuriunerik gabeko kate bat.

filtername (*): Dokumentua gordetzeko erabili beharko den iragazki baten izena. Argumentu hau gehitzen bada, iragazkiak existitu behar du.

filteroptions (*): Iragazkiari lotutako aukeren kate bat, aukerakoa.

### Adibidea:

##### Basic lengoaian

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

##### Python lengoaian

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

## SaveCopyAs

Dokumentuaren kopia bat edo haren esportazio bat gordetzen du emandako fitxategi-kokalekuan. Uneko kokalekua ez da aldatuko.

False itzuliko du dokumentua ezin bada gorde. Errore bat sortuko da helburua gainidaztea ukatzen bada edo helburuak soilik irakurtzeko atributua ezarrita badu.

Dokumentuak ez du aktibo egon behar metodo hori exekutatzeko.

### Sintaxia:

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

### Parametroak:

filename: Erabiliko den fitxategi-izena duen kate bat. SF_FileSystem.FileNaming notazioa jarraitu behar du.

overwrite: True bada, helburu-fitxategia gainidatzi daiteke (lehenetsia = False).

password (*): Dokumentua babesteko erabiliko den zuriunerik gabeko kate bat.

filtername (*): Dokumentua gordetzeko erabili beharko den iragazki baten izena. Argumentu hau gehitzen bada, iragazkiak existitu behar du.

filteroptions (*): Iragazkiari lotutako aukeren kate bat, aukerakoa.

### Adibidea:

##### Basic lengoaian

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

##### Python lengoaian

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

## SetPrinter

Dokumentuaren inprimatze-aukerak definitzen ditu.

True itzultzen du arrakasta duenean.

### Sintaxia:

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

### Parametroak:

printer: Inprimatzeko erabiliko den inprimagailu-ilararen izena. Ez badago, inprimagailu lehenetsia ezarriko da.

orientation: PORTRAIT edo LANDSCAPE. Ez badago, inprimagailu-ezarpenetan ezarritakoa erabiliko da aldatu gabe.

paperformat: Paper-formatua zehazten du, kate gisa, eta A3, A4, A5, LETTER, LEGAL edo TABLOID balioa izan dezake. Parametro hau ez badago, ezarpena ez da aldatuko.

### Adibidea:

##### Basic lengoaian

        oDoc.SetPrinter(Orientation := "PORTRAIT")

##### Python lengoaian

        doc.SetPrinter(paperformat='TABLOID')

## Styles

Retrieves a list of styles matching an optional compound criteria, the returned array may be empty. It applies to all document types except Base.

### Sintaxia:

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

family: One of the style families present in the actual document, as a case-sensitive string. Valid family names can be retrieved using StyleFamilies property.

category: A case-insensitive string: TEXT, CHAPTER, LIST, INDEX, EXTRA, HTML. For their respective meanings, refer to paragraph style category API documentation.

This argument is ignored when the Family differs from "ParagraphStyles".

namepattern: A filter on the style names, as a case-sensitive string pattern. The names include the internal and localized names.

Admitted wildcard are:

- the "?" representing any single character.

- the "*" representing zero, one, or multiple characters

parentstyle: When present, only the children of the given, localized or not, parent style name are retained.

used: When True, the style must be used in the document, when absent the argument is ignored.

userdefined: When True, the style must have been added by the user, either in the document or its template, when absent, the argument is ignored.

### Adibidea:

##### Basic lengoaian

        Dim vStyles As Variant
        vStyles = oDoc.Styles("ParagraphStyles") 'All styles in the family
        vStyles = oDoc.Styles("ParagraphStyles", "H*") 'Heading, Heading 1, ...
        vStyles = oDoc.Styles("ParagraphStyles", Used := False, UserDefined := True) ' All user-defined styles that are not used
        vStyles = oDoc.Styles("ParagraphStyles", ParentStyle := "Standard") ' All styles derived from the 'Default Paragraph Style'

##### Python lengoaian

        vStyles = doc.Styles('ParagraphStyles')  #All styles in the family
        vStyles = doc.Styles('ParagraphStyles', 'H*')  #Heading, Heading 1, ...
        vStyles = doc.Styles('ParagraphStyles', Used = False, UserDefined = True)  # All user-defined styles that are not used
        vStyles = doc.Styles('ParagraphStyles', ParentStyle = 'Standard")  # All styles derived from the "Default Paragraph Style"

## Toolbars

This method returns either a list of the available toolbar names in the actual document or a SFWidgets.Toolbar service instance.

### Sintaxia:

svc.Toolbars(opt toolbarname: str): svc
svc.Toolbars(): str[0..]

### Parametroak:

toolbarname: The usual name of one of the available toolbars.

### Adibidea:

##### Basic lengoaian

        Dim oToolbar As Object
        Set oToolbar = oDoc.Toolbars("standard")

##### Python lengoaian

        a_list = doc.Toolbars()

## XStyles

This method returns the UNO representation of a given style for all document types except Base. Nothing is returned when the StyleName does not exist in the given family.

### Sintaxia:

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

### Parametroak:

family: One of the style families present in the actual document, as a case-sensitive string. Valid family names can be retrieved using StyleFamilies property.

stylename: One of the styles present in the given family, as a case-sensitive string. The StyleName may be localized or not.

### Adibidea:

##### Basic lengoaian

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

##### Python lengoaian

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

Azpimarraren karaktere bat, "_", aurrizki gisa duten ScriptForge Basic errutina edo identifikatzaile guztiak barneko erabilerarako erreserbatuta daude. Ez dira Basic makroetan edo Python scriptetan erabili behar.

Erlazionatutako gaiak

ScriptForge.Dictionary zerbitzua

ScriptForge.UI zerbitzua

SFWidgets.Menu zerbitzua

Emaguzu laguntza!