Innhald

# Tenesta SFDocuments.Document

Biblioteket SFDocuments gjev metodar og eigenskapar for å letta handsaming og manipulering av LibreOffice-dokument.

Metodar som kan brukast på alle typar av dokument (tekstdokument, rekneark, presentasjonar og så vidare) vert leverte av tenesta SFDocuments.Document. Nokre eksempel er:

- Opning, lukking og lagring av dokument

- Tilgang til standard eller tilpassa eigenskapar for dokumenta

Dei eigenskapane, metodane eller argumenta som er merkte med (*) kan IKKJE brukast på database-dokument.

Metodar og eigenskapar som er spesifikke for visse LibreOffice-komponentar vert lagra i åtskilde tenester, som for eksempel SFDocuments.SF_Calc og SFDocuments.SF_Base.

Sjølv om Basic-språket ikkje tilbyr nedarving mellom objektklassar, kan objektklassane sjåast på som underklasser av tenesta SFDocuments.Document. Slike underklassar kan kalla opp dei eigenskapane og metodane som er omtalte nedanfor.

## Oppkall av tenester

Før du brukar tenesta Document må biblioteket ScriptForge vera lasta inn eller importert:

• 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

Nedanfor finn du tre ulike måtar å kalla opp tenesta Document.

##### I Basic

Med metoden getDocument frå tenesta ScriptForge.UI:

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

Du kan også bruka metodane CreateDocument og OpenDocument frå tenesta UI.

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

Bruka eit vindaugenamn viss dokumentet alt er opna-

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

Bruka dokumentet det vert referert til av ThisComponent. Dette er spesielt nyttig når du køyrer ein makro frå Basic IDE.

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

Frå ein makro utløyst av ei dokument-hending.

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

Tenesta Document er i nær slekt med tenestene UI og FileSystem.

Bortsett frå når dokumentet vart lukka av eit program med CloseDocument-metoden (det er då overflødig),vert det tilrådd å frigjera ressursar etter bruk:

        Set oDoc = oDoc.Dispose()

##### I Python

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

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

## Eigenskapar

Namn | Skriveverna | Type | Beskriving
--- | --- | --- | ---
CustomProperties (*) | Nei | Dictionary service | Returnerer ein objektførekomst frå ScriptForge.Dictionary. Etter ei oppdatering kan den igjen sendast til den gjeldande eigenskapen som oppdaterer dokumentet. Individuelle element i ordboka kan vera anten strenge, tal, (Basic-)dato eller com.sun.star.util.Duration-element.
Description (*) | Nei | String | Gjev tilgang til dokumenteigenskapen Description (også kjend som «Nerknadar»)
DocumentProperties (*) | Ja | Dictionary service | Returnerer eit ScriptForge.Dictionary-objekt som inneheld alle oppføringane. Dokumentstatistikk er inkludert. Legg merke til at dei er spesifikke for dokumenttypen. For eksempel inneheld eit Calc-dokument ei CellCount-oppføring. Andre dokument gjer det ikkje.
DocumentType | Ja | String | Strengverdi med dokumenttypen («Base», «Calc», «Writer» og så vidare)
ExportFilters (*) | Ja | String array | Returnerer ei liste med eksportfilternamna som kan brukast for det gjeldande dokumentet som ei nullbasert matrise med strengar. Filter brukte for både import/eksport vert også returnerte.
FileSystem (*) | Ja | String | Returnerer ein streng med adressestien til rota i det virtuelle filsystemet i dokumentet. Bruk tenesta FileSystem til å sjå innhaldet, og dessutan å oppretta, opna og lesa filer som er lagra i adressa. Referer til denne hjepsida for å læra meir om korleis du får tilgang til og kan handsama mapper og filer i det virtuelle filsystemet til ei LibreOffice-fil
ImportFilters (*) | Ja | String array | Returnerer ei liste med eksportfilternamna som kan brukast for det gjeldande dokumentet som ei nullbasert matrise med strengar. Filter brukte for både import/eksport vert også returnerte.
IsBase IsCalc IsDraw IsFormDocument IsImpress IsMath IsWriter | Ja | Boolean | Nøyaktig éin av desse eigenskapane er Sann for eit gjeve dokument.
Keywords (*) | Nei | String | Gjev tilgang til nøkkelordeigenskapen for dokumentet. Representert som ei kommadelt liste over nøkkelord
Readonly (*) | Ja | Boolean | True viss dokumentet faktisk er i skriveverna tilstand
StyleFamilies (*) | Ja | String array | Liste over tilgjengelege stilfamiliar. Kan brukast i alle dokument unnateke Base.
Subject (*) | Nei | String | Gjev tilgang til emne-eigenskapen for dokumentet.
Title (*) | Nei | String | Gjev tilgang til tittel-eigenskapen for dokumentet.
XComponent | Ja | UNO-objekt | UNO-objektet com.sun.star.lang.XComponent eller com.sun.star.comp.dba.ODatabaseDocument, som representerer dokumentet
XDocumentSettings (*) | Ja | UNO-objekt | Eit com.sun.star.XXX.DocumentSettings UNO-objekt ‒ der XXX er ark, tekst, teikning eller presentasjon ‒ som gjev tilgang til UNO interne eigenskapar som er spesifikke for dokumenttypen.that are specific to the document's type.

### Eksempel:

##### I Basic

Eksempelet nedanfor skriv ut alle eigenskapane brukte i dokument. Merk at objektet oDoc, som vert returnert av metoden UI.OpenDocument, er eit SFDocuments.Document-objekt.

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

##### I Python

For få tilgang til dokumenteigenskapar i eit Python-skript som brukaren treng for å få direkte tilgang til dei ved hjelp av namna, som vist nedanfor:

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

Liste over metodar i tenesta document
Activate CloseDocument CreateMenu DeleteStyles Echo ExportAsPDF | ImportStylesFromFile PrintOut RemoveMenu RunCommand Save SaveAs | SaveCopyAs SetPrinter Style Toolbars XStyle

## Activate

Returnerer Sann viss dokumentet kunne aktiverast. Elles er det inga endring i det faktiske brukargrensesnittet. Det svarar til metoden Activate i tenesta UI.

Denne metoden er nyttig når ein må fokusera på eit dokument som er minimert eller gøymd.

### Syntaks:

svc.Activate(): bool

### Eksempel:

Eksempelet nedanfor finn at fila «Mi_Fil.ods» alt er opna, men ikkje aktiv.

##### I Basic

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

##### I Python

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

Hugs at du kan kalla opp tenesta Document ved å overføra anten «Document» eller «SFDocuments.Document» til tenesta CreateScriptService

## CloseDocument

Lukker dokumentet. Viss dokumentet alt er lukka, same korleis, har denne metode ingen verknad og returnerer Usann.

Metoden returnerer også Usann viss brukaren avviser å lukka han.

Returnerer Sann viss det lukkast å lukka dokumentet.

### Syntaks:

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

### Parametrar:

saveask: Viss Sann (standard) vert brukaren beden om å stadfesta om endringane skal skrivast til lagringsmediumet. Argumentet vert ignorert om det ikkje er gjort endringar i dokumentet.

### Eksempel:

##### I Basic

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

##### I Python

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

## CreateMenu

Lagar ei ny menyoppføring i menylinja i eit gjeve dokumentvindauge.

Denne metode returnerer ei førekomst av tenesta SFWidgets.Menu.

Menyen som er laga er berre tilgjengeleg under den gjeldande LibreOffice-økta og vert ikkje lagra korkje i dokumentet eller i dei globale programinnstillingane. Difor vert menyen borte når du lukkar dokumentvindauget. Han kjem fram igjen først når makroen som lagar menyen vert køyrd på nytt.

### Syntaks:

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

### Parametrar:

menuheader: Namnet på det øvste nivået på den nye menyen.

før: Namnet (som ein streng) eller posisjonen (som eit heiltal som byrjar på 1) på ein eksisterande meny som den nye menyen skal setjast framføre. Viss det ikkje er definert nokon verdi for dette argumentet, vert menyen bli sett opp på den siste posisjonen i menylinja.

submenuchar: Skiljeteiknet som vert brukt til å laga menytre når metodar som AddItem frå tenesta Meny vert kalla opp. Standardverdien er «>».

### Eksempel:

##### I Basic

        Dim oDoc as Object, oMenu as Object
        Set oDoc = CreateScriptService("Document")
        Sett oMenu = oDoc.CreateMenu("Min meny")
        With oMenu
            ' Legg til element i menyen
            .AddItem("Item A")
            .AddItem("Item B")
            ' ...
            ' Når menyen er oppretta, kan førekomsten av tenesta fjernast
            .Dispose()
        End With

##### I Python

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

Sjå hjelpsida SFWidgets.Menu for å læra meir om korleis du kan laga eog fjerna menyar i LibreOffice dokumentvindauge.

## DeleteStyles

Undertrykkjer ein enkelt stil eller ein rekkje stilar gjeve av namna deira innføre ein bestemt stilfamilie. Berre brukardefinerte stilar kan slettast, innebygde stilar vert ignorerte. Det vert brukt på alle dokumenttypar unnateke Base og skjemadokument.

### Syntaks:

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

### Parametrar:

family: Ein av stilfamiliane i det gjeldande dokumentet, som ein streng som skil mellom store og små bokstavar.Gyldige familenamn kan hentast ved hjelp av eigenskapen StyleFamilies.

stylelis: Eit enkelt stilnmn som ein streng eller ei matrise med stilnamn. Stilnamna kan vera lokale eller ikkje. «StylesList» er vanlegvis resultatet av utføringa av eim Styles()-metode.

### Eksempel:

##### I Basic

        ' Fjernar ubrukte avsnittsstilar
        Const family = "ParagraphStyles"
        aList = oDoc.Styles(family, used := False, userDefined := True)
        oDoc.DeleteStyles(family, aList)

##### I Python

        # Fjernar stilar i høve til eit prefiks
        a_list = doc.Styles('ParagraphStyles', namepattern = "Py*")
        doc.Styles('ParagraphStyles', a_list)

## Echo

Avbryt oppdateringar av brukargrensesnittet (UI) under køyring av ein makro. Eventuelt kan musepeikaren endrast til eit timeglas medan UI-oppdateringar er kopla ut.

Denne metoden kan gje nokre ytingsfordelar for makroar som utfører mange operasjonar som krev oppdateringar av brukargrensesnittet.

### Syntaks:

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

### Parametrar:

echoon: Spesifiser Usann for å avbryta oppdateringar for brukargrensesnittet. Standardverdien er Sann, som tillet oppdateringar av brukargrensesnittet i sanntid.

hourglass: Spesifiser Sann for å endra musepeikaren til eit timeglas (standard = Usann).

Viss du flyttar musepeikaren etter at han er endra til eit timeglas, kan det føra til at han byter til ein annan peikar, avhengig av den nye bakgrunnen.

### Eksempel:

##### I Basic

        ' Suspenderer UI-oppdateringar og endrar musepeikaren til eit timeglas
        oDoc.Echo(EchoOn := False, HourGlass := True)
        ' Andre makrokommandoar
        ' ...
        Gjenopprettar oppdateringar for brukargrensesnittet og musepeikaren
        oDoc.Echo()

##### I Python

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

## ExportAsPDF

Eksporterer dokumentet direkte som ei PDF-fil til den gjevne plasseringa. Returnerer Sann viss PDF-fila vart laga.

Innstillingane for eksport kan setjast anten manuelt med dialogvindauget Fil → Eksporter som → Eksporter som PDF eller ved å kalla opp metodane GetPDFExportOptions og SetPDFExportOptions frå tenesta Session.

### Syntaks:

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

### Parametrar:

filnamn: Den fullstendige stien og filnamnet på PDF-fila som skal lagast. Det må følgja notasjonen i SF_FileSystem.FileNaming.

overskriv: Spesifiserer om målcella kan overskrivast (Standard = Usann). Det kjem opp ei feilmelding viss overwrite er sett til Usann og målfila finst frå før.

sider: Streng som spesifiserer kva for sider som skal eksporterast. Dette argument brukar den same notasjonen som i dialogvindauget Filer → Eksporter som → Eksporter som PDF.

password: Spesifiserer eit passord for å opna PDF-fila.

vassmerke: Tekst som skal brukast som vassmerke i PDF-fila og som vert sett inn på kvar side i PDF-dokumentet.

### Eksempel:

##### I Basic

Eksempelet nedanfor eksporterer det gjeldande dokumentet som ei PDF-fil, definerer eit passord og overskriv målfila viss denne finst frå før.

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

Kodesnutten nedanfor hentar dei gjeldande innstillingane for eksport av PDF og brukar desse for å laga PDF-fila.

        Dim exportSettings as Object, oSession as Object
        oSession = CreateScriptService("Session")
        exportSettings = oSession.GetPDFExportOptions()
        ' Set innstillinga for eksport av merknadar som PDF-notat til Sann.
        exportSettings.ReplaceItem("ExportNotes", True)
        oSession.SetPDFExportOptions(exportSettings)
        oDoc.ExportAsPDF("C:\User\Documents\myFile.pdf")

##### I Python

        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

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:

- ParagraphStyles og CharacterStyles

- NumberingStyles og ListStyles

Returnerer Sann viss stilane vart importerte.

### 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. Standard = 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

Denne metoden sender innhaldet i dokument til standardskrivaren eller til den skrivaren som er definert med metoden SetPrinter.

Returnerer Sann viss utskrivinga av dokumentet lukkast.

### Syntaks:

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

### Parametrar:

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

kopiar: Talet på kopiar. Standard er 1.

### Eksempel:

##### I Basic

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

##### I Python

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

## RemoveMenu

Fjernar ein meny frå det øvste nivået i menylinja i eit gjeve dokumentvindauge.

Returnerer Sann viss den gjevne menyen kan fjernast. Viss den gjevne menyen ikkje finst, vil metoden returnera Usann.

Denne metoden kan brukast for å fjerna alle menyoppføringar frå dokumentvindauget, inkludert standardmenyar. Ingen av desse endringane i menylinja vert lagra i dokumentet eller i programinnstillingane. For å gjenoppretta menylinja til standardinnstillingane, lukk og opna dokumentvindauget på nytt.

### Syntaks:

svc.RemoveMenu(menuheader: str): bool

### Parametrar:

menuheader: Namnet på det øvste nivået i den nye menyen.

### Eksempel:

##### I Basic

        Dim oDoc as Object
        Set oDoc = CreateScriptService("Document")
        oDoc.RemoveMenu ("Min meny")

##### I Python

        doc = CreateScriptService("Document")
        doc.RemoveMenu("Min meny")

Sjå hjelpsida SFWidgets.Menu for å læra meir om korleis du kan laga eog fjerna menyar i LibreOffice dokumentvindauge.

## RunCommand

Køyrer ein UNO-kommando på dokumentvindauget som er knytt til tenesteførekomsten. Nokre typiske kommandoar er: Lagra, Lagra som, Eksporter til PDF, Angra, Kopier, Lim inn, osv.

Dokumentet treng ikkje vera aktivt for å kunna køyra kommandoar.

Kommandoar kan køyrast med eller utan argument. Argument vert ikkje validerte før kommandoen vert utført. Viss kommandoen eller argumenta i han er ugyldige, skjer det ingenting.

Du finn ei fullstendig liste over UNO-kommandoar som kan køyrast i LibreOffice på Wiki-sida Development/DispatchCommands.

### Syntaks:

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

### Parametrar:

command: Streng som inneheld UNO-kommandonavnet. Strengen skil mellom store og små bokstavar. Prefikset ".uno:" i kommandoen er valfritt. Det vert ikkje kontrollert om kommandoen er korrekt. Viss det ikkje skjer noko etter at kommandoen er kalla opp, er kommandoen sannsynlegvis feil.

args: For kvart argument som skal sendast vidare til kommandoen, må du spesifisera eit par som inneheld namnet og verdien til argumentet.

### Eksempel:

##### I Basic

Eksempelet nedanfor køyrer kommandoen SelectData i ei Calc-fil kalla «MyFile.ods» som vil resultera i val av dataområdet basert på den merkte cella. Merk at denne kommandoen ikkje krev nokre argument.

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

Nedanfor er eit eksempel som køyrer UNO-kommandoen ReplaceAll og sender verdiar for argumenta SearchString og ReplaceString. Når du køyrer denne kommandoen vert alle førekomstar av strengen «abc» bytt ut med «ABC» i det gjeldande arket.

        ' Argument sende til kommandoen:
        ' SearchString  = "abc"
        ' ReplaceString = "ABC"
        oDoc.RunCommand(".uno:ReplaceAll", "SearchString", "abc", "ReplaceString", "ABC")

Merk at å kalla opp kommandoen ReplaceAll utan argument vil opna dialogvindauget Søk og byt ut.

##### I Python

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

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

I Python er det også mogleg å kalla opp RunCommand ved å bruka nøkkelordargument:

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

Kvar LibreOffice-komponent har sitt eige sett med tilgjengelege kommandoar. Ein enkel måte å læra kommandoar på er å gå til Verktøy → Tilpass → Tastatur. Når du plasserer musa over ein funksjon i Funksjon-lista, vert det vist eit verktøytips med den tilsvarande UNO-kommandoen.

## Save

Lagrar dokumentet der det vart henta frå. Metoden vert ignorert viss dokumentet ikkje er endra.

Returnerer Usann viss dokumentet ikkje kan lagrast. Det vert sett opp ein feil viss fila er opna som skriveverna eller viss det er ei ny fil utan namn.

Dokumentet treng ikkje vera aktivt for å bruk denne metoden.

### Syntaks:

svc.Save(): bool

### Eksempel:

##### I Basic

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

##### I Python

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

## SaveAs

Lagrar dokumentet i den gjevne filplasseringa. Den nye plasseringa vert det nye filnamnet som vert brukt av det enkle metodekallet «Lagra».

Returnerer Usann viss dokumentet ikkje kan lagrast. Der vert sett opp ein feil viss målet ikkje kan overskrivast eller når målet er skriveverna.

Dokumentet treng ikkje vera aktivt for å bruk denne metoden.

### Syntaks:

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

### Parametrar:

filnamn: Ein streng som inneheld det filnamnet som skal brukast. Namnet må følgja notasjonen SF_FileSystem.FileNaming.

overskriv: Viss Sann kan målfila overskrivast (standard = Usann.

passord (*): Ein streng utan mellomrom som skal brukast for å verna dokumentet.

filternamn (*): Namnet på eit filter som skal brukast for å lagra dokumentet. Viss argumentet vert sendt vidare, må filteret finnast.

filterinnstillingar (*): Ein valfri streng med innstillingar for dette filteret.

### Eksempel:

##### I Basic

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

##### I Python

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

## SaveCopyAs

Lagrar ein kopi eller eksporterer dokumentet til den gjevne filplasseringa. Den aktuelle plasseringa vert ikkje endra.

Returnerer Usann viss dokumentet ikkje kan lagrast. Der vert sett opp ein feil viss målet ikkje kan overskrivast eller når målet er skriveverna.

Dokumentet treng ikkje vera aktivt for å bruk denne metoden.

### Syntaks:

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

### Parametrar:

filnamn: Ein streng som inneheld det filnamnet som skal brukast. Namnet må følgja notasjonen SF_FileSystem.FileNaming.

overskriv: Viss Sann kan målfila overskrivast (standard = Usann.

passord (*): Ein streng utan mellomrom som skal brukast for å verna dokumentet.

filternamn (*): Namnet på eit filter som skal brukast for å lagra dokumentet. Viss argumentet vert sendt vidare, må filteret finnast.

filterinnstillingar (*): Ein valfri streng med innstillingar for dette filteret.

### Eksempel:

##### I Basic

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

##### I Python

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

## SetPrinter

Definerer innstillingane for utskriving av dokument.

Returnerer Sann når han lukkast.

### Syntaks:

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

### Parametrar:

printer: Namnet på utskriftskøen det skal skrivast til. Når denne manglar, vert standardskrivaren sett.

papirretning: Anten PORTRAIT (ståande) eller LANDSCAPE (liggjande). Når denne manglar vert feltet ikkje endra i høve til skrivarinnstillingane.

papirformat: Spesifiserer papirformatet som ein strengverdi som kan vera anten A3, A4, A5, LETTER, LEGAL eller TABLOID. Vert ikkje endra om denne manglar.

### Eksempel:

##### I Basic

        oDoc.SetPrinter(Orientation := "PORTRAIT")

##### I Python

        doc.SetPrinter(paperformat='TABLOID')

## Styles

Hentar ei liste over stilar som samsvarar med eit valfritt samansett kriterium. Den returnerte matrisa kan vera tom. Det gjeld alle dokumenttypar unnateke Base.

### Syntaks:

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

family: Ein av stilfamiliane i det gjeldande dokumentet, som ein streng som skil mellom store og små bokstavar.Gyldige familenamn kan hentast ved hjelp av eigenskapen StyleFamilies.

category: Ein streng som ikkje skil mellom små og store bokstavar; TEXT, CHAPTER, LIST, INDEX, EXTRA, HTML. Kva desse betyr, sjå paragraph style category API dokumentasjon.

Dette argumentet vert ignorert når familien er ulik «ParagraphStyles».

namepattern: Eit filter på stilnamna, som ein streng som skil melom store og små bokstavar. Namnet inkluderer dei interne og regionale namna.

Godkjende jokerteikn er:

- «?» står for eitt enkelt teikn

- «*» står for ingen, eitt eller fleire teikn

parentstyle: Når dette er tilstade, vert berre underordna av det gjevne, regionalt eller ikkje, overordna stilnamnet.

used: Når Sann, må stilen vera i bruk i dokumentet, når det manglar, vert argumentet ignorert.

userdefined: Når Sann, må stilen vera lagt til av brukaren anten i dokumentet eller malen. Når utsegnet er tomt, vert det ignorert.

### Eksempel:

##### I Basic

        Dim vStyles As Variant
        vStyles = oDoc.Styles("ParagraphStyles") ' Alle stilane i familien
        vStyles = oDoc.Styles("ParagraphStyles", "H*") ' Overskrift, Overskrift 1, …
        vStyles = oDoc.Styles("ParagraphStyles", Used := False, UserDefined := True) ' Alle brukardefinerte stilane som ikkje er brukte
        vStyles = oDoc.Styles("ParagraphStyles", ParentStyle := "Standard") ' Alle stilane som byggjer på «Standard avsnitsstil»

##### I Python

        vStyles = doc.Styles("ParagraphStyles") # Alle stilane i familien
        vStyles = doc.Styles("ParagraphStyles", "H*") ' Overskrift, Overskrift 1, …
        vStyles = doc.Styles("ParagraphStyles", Used = False, UserDefined = True) # Alle brukardefinerte stilane som ikkje er brukte
        vStyles = doc.Styles("ParagraphStyles", ParentStyle := "Standard") # Alle stilane som byggjer på «Standard avsnitsstil»

## Toolbars

Denne metoden returnerer anten ei liste over dei tilgjengelege verktøylinjenamna i det gjeldande dokumentet eller i ein førekomst av SFWidgets.Toolbar-tenesta.

### Syntaks:

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

### Parametrar:

ToolbarName: Det vanlege namnet på ei av verktøylinjene.

### Eksempel:

##### I Basic

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

##### I Python

        a_list = doc.Toolbars()

## XStyles

Denne metoden returnerer UNO-representasjonen av ein gjeven stil for alle dokumenttypane unnateke Base. Ingenting vert returnert når StyleName ikkje finst i den gjevne familien.

### Syntaks:

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

### Parametrar:

family: Ein av stilfamiliane i det gjeldande dokumentet, som ein streng som skil mellom store og små bokstavar.Gyldige familenamn kan hentast ved hjelp av eigenskapen StyleFamilies.

stylename:Ein av stilane i den gjevne familien, som ein streng som skil mellom store og små bokstavar. StyleName kan vera regionalt eller ikkje.

### Eksempel:

##### I Basic

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

##### I Python

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

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

Liknande emne

Tenesta ScriptForge.Dictionary

Tenesta ScriptForge.UI

Tenesta SFWidgets.Meny