SFDocuments.Document tjeneste

Innhold

# SFDocuments.Dokument tjeneste

SFDocuments-biblioteket gir metoder og egenskaper for å forenkle administrasjon og manipulering av LibreOffice-dokumenter.

Metoder som kan brukes for alle typer dokumenter (tekstdokumenter, ark, presentasjoner osv.) leveres av SFDocuments.Document-tjenesten. Noen eksempler er:

- Åpne, lukke og lagre dokumenter

- Tilgang til standard eller egendefinerte egenskaper for dokumenter

Egenskapene, metodene eller argumentene merket med (*) er IKKE gjeldende for basisdokumenter.

Metoder og egenskaper som er spesifikke for visse LibreOffice-komponenter, lagres i separate tjenester, for eksempel SFDocuments.SF_Calc og SFDocuments.SF_Base.

Selv om Basic-språket ikke tilbyr arv mellom objektklasser, kan sistnevnte tjenester betraktes som underklasser av SFDocuments.Document-tjenesten. Slike underklasser kan påkalle egenskapene og metodene beskrevet nedenfor.

## Tjenestepåkallelse

Før du bruker Dokument-tjenesten, må ScriptForge-biblioteket lastes eller importeres:

• Grunnleggende makroer krever å laste ScriptForge-biblioteket ved hjelp av følgende setning:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Python-skript krever import fra scriptforge-modulen:
fra scriptforge import CreateScriptService

Nedenfor er tre varianter av hvordan Dokument-tjenesten kan påkalles.

##### I Basic

Ved å bruke getDocument-metoden fra ScriptForge.UI-tjenesten:

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

Alternativt kan du bruke metodene CreateDocument og OpenDocument fra UI-tjenesten.

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

Bruke et vindunavn hvis dokumentet allerede er åpent.

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

Bruke dokumentet det refereres til av ThisComponent. Dette er spesielt nyttig når du kjører en makro fra Basic IDE.

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

Fra en makro utløst av en dokumenthendelse.

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

Dokument-tjenesten er nært knyttet til UI og FileSystem-tjenestene.

Bortsett fra når dokumentet ble lukket av program med CloseDocument-metoden (det er da overflødig), anbefales det å frigjøre ressurser 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)
            # (...)

Bruken av prefikset "SFDocuments." mens du anroper tjenesten er valgfritt.

## Egenskaper

Navn | Skrivebeskyttet | Type | Beskrivelse
--- | --- | --- | ---
CustomProperties (*) | Nei | Dictionary service | Returnerer en ScriptForge.Dictionary objektforekomst. Etter oppdatering kan den sendes igjen til eiendommen for oppdatering av dokumentet. Individuelle elementer i ordboken kan enten være strenger, tall, (grunnleggende) datoer eller com.sun.star.util.Duration elementer.
Description (*) | Nei | String | Gir tilgang til beskrivelsesegenskapen til dokumentet (også kjent som "Kommentarer")
DocumentProperties (*) | Ja | Dictionary service | Returnerer et ScriptForge.Dictionary-objekt som inneholder alle oppføringene. Dokumentstatistikk er inkludert. Merk at de er spesifikke for dokumenttypen. Som et eksempel inkluderer et Calc-dokument en "CellCount"-oppføring. Andre dokumenter gjør det ikke.
DocumentType | Ja | String | Strengverdi med dokumenttypen ("Base", "Calc", "Writer", osv.)
ExportFilters (*) | Ja | String array | Returnerer en liste med eksportfilternavnene som gjelder for gjeldende dokument, som en nullbasert matrise med strenger. Filtre brukt for både import/eksport returneres også.
FileSystem (*) | Ja | String | Returnerer en streng med URL-banen til roten til det virtuelle filsystemet til dokumentet. Bruk FileSystem-tjenesten for å se innholdet, samt opprette, åpne og lese filer som er lagret i den. Se denne hjelpesiden for å lære mer om hvordan du får tilgang til og manipulerer mapper og filer i det virtuelle filsystemet til en LibreOffice fil.
ImportFilters (*) | Ja | String array | Returnerer en liste med importfilternavnene som gjelder for gjeldende dokument, som en nullbasert rekke strenger. Filtre brukt for både import/eksport returneres også.
IsBase IsCalc IsDraw IsFormDocument IsImpress IsMath IsWriter | Ja | Boolean | Nøyaktig én av disse egenskapene er Sann for et gitt dokument.
Keywords (*) | Nei | String | Gir tilgang til nøkkelord-egenskapen til dokumentet. Representert som en kommadseparert liste over søkeord
Readonly (*) | Ja | Boolean | True hvis dokumentet faktisk er i skrivebeskyttet modus
StyleFamilies (*) | Ja | String array | Liste over tilgjengelige stilfamilier. Gjelder alle dokumenttyper unntatt Base.
Subject (*) | Nei | String | Gir tilgang til emneegenskapen til dokumentet.
Title (*) | Nei | String | Gir tilgang til Tittel-egenskapen til dokumentet.
XComponent | Ja | UNO Objekt | UNO-objektet com.sun.star.lang.XComponent eller com.sun.star.comp.dba.ODatabaseDocument som representerer dokument.
XDocumentSettings (*) | Ja | UNO Objekt | Et com.sun.star.XXX.DocumentSettings UNO-objekt - der XXX er ark, tekst, tegning eller presentasjon - som gir tilgang til UNO interne egenskaper, som er spesifikke for dokumenttypen.

### Eksempel:

##### I Basic

Eksemplet nedenfor skriver ut alle egenskapene til et dokument. Merk at oDoc-objektet returnert av UI.OpenDocument-metoden er et 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 dokumentegenskaper i et Python-skript må brukeren ha direkte tilgang til dem ved å bruke navnene deres, som vist nedenfor:

        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 metoder i dokumenttjenesten
Activate CloseDocument CreateMenu DeleteStyles Echo ExportAsPDF | ImportStylesFromFile PrintOut RemoveMenu RunCommand Save SaveAs | SaveCopyAs SetPrinter Style Toolbars XStyle

## Activate

Returnerer True hvis dokumentet kunne aktiveres. Ellers er det ingen endring i det faktiske brukergrensesnittet. Det tilsvarer Aktiver-metoden for UI-tjenesten.

Denne metoden er nyttig når man trenger å gi fokus for et dokument som er minimert eller skjult.

### Syntaks:

svc.Activate(): bool

### Eksempel:

Eksemplet nedenfor anser at filen "My_File.ods" allerede er åpen, men ikke aktiv.

##### I Basic

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

##### I Python

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

Husk at du kan påkalle Dokument-tjenesten ved å sende til CreateScriptService enten "Document" eller "SFDocuments.Document"

## CloseDocument

Lukker dokumentet. Hvis dokumentet allerede er lukket, uavhengig av hvordan dokumentet ble lukket, har denne metoden ingen effekt og returnerer Usann.

Metoden vil også returnere Usann hvis brukeren nekter å lukke den.

Returnerer Sann hvis dokumentet ble lukket.

### Syntaks:

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

### Parametre:

saveask : Hvis Sann (standard), inviteres brukeren til å bekrefte om endringene skal skrives på disk. Dette argumentet ignoreres hvis dokumentet ikke ble endret.

### Eksempel:

##### I Basic

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

##### I Python

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

## CreateMenu

Oppretter en ny menyoppføring i menylinjen i et gitt dokumentvindu.

Denne metoden returnerer en forekomst av SFWidgets.Menu-tjenesten.

Menyen som er opprettet er kun tilgjengelig under den gjeldende LibreOffice-økten og lagres verken i dokumentet eller i de globale applikasjonsinnstillingene. Derfor forsvinner menyen ved å lukke dokumentvinduet. Den vises først når makroen som oppretter menyen kjøres igjen.

### Syntaks:

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

### Parametre:

menyhode: Toppnivånavnet på den nye menyen.

før: Navnet (som en streng) eller posisjonen (som et heltall som starter på 1) på en eksisterende meny som den nye menyen skal plasseres foran. Hvis ingen verdi er definert for dette argumentet, vil menyen bli opprettet på den siste posisjonen i menylinjen.

submenuchar: Skilletegnet som brukes til å lage menytrær når man kaller metoder som AddItem fra Meny-tjenesten. 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 elementer i menyen
            .AddItem("Item A")
            .AddItem("Item B")
            ' ...
            ' Etter å ha opprettet menyen, kan tjenesteforekomsten kasseres
            .Dispose()
        End With

##### I Python

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

Se SFWidgets.Menu hjelpesiden for å lære mer om hvordan du oppretter/ fjerne menyer i LibreOffice dokumentvinduer.

## DeleteStyles

Undertrykker en enkelt stil eller en rekke stiler gitt av navnene deres innenfor en bestemt stilfamilie. Bare brukerdefinerte stiler kan slettes, innebygde stiler ignoreres. Det gjelder alle dokumenttyper unntatt Base og FormDocument.

### Syntaks:

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

### Parametre:

familie: En av stilfamiliene som finnes i selve dokumentet, som en streng som skiller mellom store og små bokstaver. Gyldige familienavn kan hentes ved å bruke StyleFamilies-egenskapen.

stilliste: Et enkelt stilnavn som en streng eller en rekke stilnavn. Stilnavnene kan være lokaliserte eller ikke. StylesList er typisk utdata fra utførelsen av en Styles() metode.

### Eksempel:

##### I Basic

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

##### I Python

        # Fjerner stiler i henhold til et prefiks
        a_list = doc.Styles('ParagraphStyles', namepattern = "Py*")
        doc.Styles('ParagraphStyles', a_list)

## Echo

Suspenderer oppdateringer av brukergrensesnitt (UI) under kjøring av en makro. Valgfritt kan musepekeren endres til et timeglass mens UI-oppdateringer er suspendert.

Denne metoden kan gi noen ytelsesfordeler for makroer som utfører en rekke operasjoner som krever UI-oppdateringer.

### Syntaks:

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

### Parametre:

echoon: Spesifiser False for å suspendere UI-oppdateringer. Standardverdien er True, som muliggjør sanntids UI-oppdateringer.

timeglass: Spesifiser Sann for å endre musepekeren til et timeglass (Standard = Usann).

Hvis du flytter musepekeren etter at den er endret til et timeglass, kan det føre til at den bytter til en annen peker avhengig av den nye bakgrunnen.

### Eksempel:

##### I Basic

        ' Suspenderer UI-oppdateringer og endrer musepekeren til et timeglass
        oDoc.Echo(EchoOn := False, HourGlass := True)
        ' Andre makrokommandoer
        ' ...
        ' Gjenoppretter UI-oppdateringer og musepeker
        oDoc.Echo()

##### I Python

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

## ExportAsPDF

Eksporterer dokumentet direkte som en PDF-fil til det angitte stedet. Returnerer Sann hvis PDF-filen ble opprettet.

Eksportalternativene kan settes enten manuelt ved å bruke Fil - Eksporter som - Eksporter som PDF-dialogboksen eller ved å kalle metodene GetPDFExportOptions og SetPDFExportOptions fra Session-tjeneste.

### Syntaks:

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

### Parametre:

filnavn: Den fullstendige banen og filnavnet til PDF-en som skal opprettes. Den må følge SF_FileSystem.FileNaming-notasjonen.

overskriv: Angir om målfilen kan overskrives (Standard = Usann). En feil vil oppstå hvis overskriv er satt til Usann og målfilen allerede eksisterer.

sider: Streng som spesifiserer hvilke sider som skal eksporteres. Dette argumentet bruker samme notasjon som i dialogen Fil - Eksporter som - Eksporter som PDF.

passord: Angir et passord for å åpne PDF-filen.

vannmerke: Tekst som skal brukes som vannmerke i PDF-filen, som vil bli tegnet på hver side av den resulterende PDF-filen.

### Eksempel:

##### I Basic

Følgende eksempel eksporterer gjeldende dokument som en PDF-fil, definerer et passord og overskriver målfilen hvis den allerede eksisterer.

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

Kodebiten nedenfor får de gjeldende PDF-eksportalternativene og bruker dem til å lage PDF-filen.

        Dim exportSettings as Object, oSession as Object
        oSession = CreateScriptService("Session")
        exportSettings = oSession.GetPDFExportOptions()
        ' Setter til Sann alternativet for å eksportere kommentarer som PDF-notater
        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 metoden laster alle stilene som tilhører en eller flere stilfamilier fra en lukket fil til det faktiske dokumentet. Selve dokumentet må være et Calc eller et Writer dokument.

Importeres alltid sammen:

- Avsnittsstiler og Tegnstiler

- Nummereringsstiler og Listestiler

Returnerer Sann hvis det ble importert stiler.

### Syntaks:

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

### Parametre:

filnavn: Filen som stilene skal lastes fra i Filsystem-notasjonen. Filen antas å være av samme dokumenttype som selve dokumentet.

familier: En av stilfamiliene som finnes i selve dokumentet, som en streng som skiller mellom store og små bokstaver, eller som en rekke slike strenger. Standard = alle familier.

overskriv: Når Sann, kan de faktiske stilene bli overskrevet. Standard er 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 innholdet i dokumentet til standardskriveren eller til skriveren definert av SetPrinter-metoden.

Returnerer Sann hvis dokumentet ble skrevet ut.

### Syntaks:

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

### Parametre:

sider: Sidene som skal skrives ut som en streng, som i brukergrensesnittet. Eksempel: "1-4;10;15-18". Standard er alle sider.

kopier: Antall kopier. 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

Fjerner en toppnivåmeny fra menylinjen i et gitt dokumentvindu.

Returnerer True hvis den angitte menyen kunne fjernes. Hvis den angitte menyen ikke eksisterer, returnerer metoden Usann.

Denne metoden kan brukes til å fjerne alle menyoppføringer fra dokumentvinduet, inkludert standardmenyer. Ingen av disse endringene i menylinjen lagres imidlertid i dokumentet eller i applikasjonsinnstillingene. For å gjenopprette menylinjen til standardinnstillingene, lukk og åpne dokumentvinduet på nytt.

### Syntaks:

svc.RemoveMenu(menuheader: str): bool

### Parametre:

menyhode: Toppnivånavnet på menyen som skal fjernes.

### Eksempel:

##### I Basic

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

##### I Python

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

Se SFWidgets.Menu hjelpesiden for å lære mer om hvordan du oppretter/ fjerne menyer i LibreOffice dokumentvinduer.

## RunCommand

Kjører en UNO-kommando på dokumentvinduet som er knyttet til tjenesteforekomsten. Noen typiske kommandoer er: Lagre, Lagre Som, ExportToPDF, Angre, Kopier, Lim inn, etc.

Selve dokumentet trenger ikke være aktivt for å kunne kjøre kommandoer.

Kommandoer kan kjøres med eller uten argumenter. Argumenter blir ikke validert før kommandoen kjøres. Hvis kommandoen eller dens argumenter er ugyldige, vil ingenting skje.

For en fullstendig liste over UNO-kommandoer som kan kjøres i LibreOffice, se Wiki-siden Development/DispatchCommands.

### Syntaks:

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

### Parametre:

kommando: Skrevet av store og små bokstaver som inneholder UNO-kommandonavnet. Inkludering av prefikset ".uno:" i kommandoen er valgfritt. Selve kommandoen kontrolleres ikke for korrekthet. Hvis ingenting skjer etter kommandoanropet, er kommandoen sannsynligvis feil.

args: For hvert argument som skal sendes til kommandoen, spesifiser et par som inneholder argumentnavnet og verdien.

### Eksempel:

##### I Basic

Følgende eksempel kjører kommandoen SelectData i en Calc-fil kalt "MyFile.ods", som vil resultere i valg av dataområdet basert på den valgte cellen. Merk at denne kommandoen ikke krever noen argumenter.

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

Nedenfor er et eksempel som kjører UNO-kommandoen ReplaceAll og sender verdier for argumentene SearchString og ReplaceString. Å kjøre denne kommandoen vil erstatte all forekomst av strengen "abc" med "ABC" i gjeldende ark.

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

Merk at å kalle kommandoen ReplaceAll uten argumenter vil åpne Finn og erstatt-dialogen.

##### I Python

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

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

I Python er det også mulig å kalle RunCommand ved å bruke søkeordargumenter:

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

Hver LibreOffice-komponent har sitt eget sett med kommandoer tilgjengelig. En enkel måte å lære kommandoer på er å gå til Verktøy - Tilpass - Tastatur. Når du plasserer musen over en funksjon i Funksjon-listen, vises et verktøytips med den tilsvarende UNO-kommandoen.

## Save

Lagrer dokumentet på filplasseringen det ble lastet fra. Metoden ignoreres hvis dokumentet ikke ble endret.

Returnerer False hvis dokumentet ikke kunne lagres. En feil oppstår hvis filen er åpen som skrivebeskyttet, eller hvis det er en ny fil som ikke er lagret ennå.

Selve dokumentet trenger ikke være aktivt for å kjøre denne metoden.

### Syntaks:

svc.Save(): bool

### Eksempel:

##### I Basic

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

##### I Python

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

## SaveAs

Lagrer dokumentet til den gitte filplasseringen. Den nye plasseringen blir det nye filnavnet som enkle Lagre-metodekall vil bli brukt på.

Returnerer False hvis dokumentet ikke kunne lagres. En feil oppstår når overskriving av destinasjonen avvises eller når destinasjonen har sitt skrivebeskyttede attributt satt.

Selve dokumentet trenger ikke være aktivt for å kjøre denne metoden.

### Syntaks:

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

### Parametre:

filnavn: En streng som inneholder filnavnet som skal brukes. Den må følge SF_FileSystem.FileNaming-notasjonen.

overskriv: Hvis Sann, kan målfilen bli overskrevet (standard = Usann).

passord (*): En streng uten mellomrom for å beskytte dokumentet.

filternavn (*): Navnet på et filter som skal brukes for å lagre dokumentet. Hvis dette argumentet passeres, må filteret eksistere.

filteralternativer (*): En valgfri streng med alternativer knyttet til filteret.

### Eksempel:

##### I Basic

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

##### I Python

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

## SaveCopyAs

Lagrer en kopi av eller eksporter dokumentet til den gitte filplasseringen. Den faktiske plasseringen er uendret.

Returnerer Usann hvis dokumentet ikke kunne lagres. En feil oppstår når overskriving av destinasjonen avvises eller når destinasjonen har sitt skrivebeskyttede attributt satt.

Selve dokumentet trenger ikke være aktivt for å kjøre denne metoden.

### Syntaks:

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

### Parametre:

filnavn: En streng som inneholder filnavnet som skal brukes. Den må følge SF_FileSystem.FileNaming-notasjonen.

overskriv: Hvis Sann, kan målfilen bli overskrevet (standard = Usann).

passord (*): En streng uten mellomrom for å beskytte dokumentet.

filternavn (*): Navnet på et filter som skal brukes for å lagre dokumentet. Hvis dette argumentet passeres, må filteret eksistere.

filteralternativer (*): En valgfri streng med alternativer knyttet til 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 skriveralternativene for dokumentet.

Returnerer Sann når det lykkes.

### Syntaks:

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

### Parametre:

skriver: Navnet på skriverkøen der den skal skrives ut. Når den er fraværende, angis standardskriveren.

orientering: Enten PORTRETT eller LANDSKAP. Når fraværende, forblir uendret med hensyn til skriverinnstillingene.

papirformat: Spesifiserer papirformatet som en strengverdi som kan være enten A3, A4, A5, LETTER, LEGAL eller TABLOID. Blir uendret hvis ikke spesifisert.

### Eksempel:

##### I Basic

        oDoc.SetPrinter(Orientation := "PORTRAIT")

##### I Python

        doc.SetPrinter(paperformat='TABLOID')

## Styles

Henter en liste over stiler som samsvarer med et valgfritt sammensatt kriterium, den returnerte matrisen kan være tom. Det gjelder alle dokumenttyper unntatt Base.

### Syntaks:

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

familie: En av stilfamiliene som finnes i selve dokumentet, som en streng som skiller mellom store og små bokstaver. Gyldige familienavn kan hentes ved å bruke StyleFamilies-egenskapen.

kategori: En streng som ikke skiller mellom store og små bokstaver: TEXT, CHAPTER, LIST, INDEX, EXTRA, HTML. For deres respektive betydninger, se avsnittsstilkategori API-dokumentasjon.

Dette argumentet ignoreres når familien skiller seg fra "ParagraphStyles".

navnemønster: Et filter på stilnavnene, som et strengmønster som skiller mellom store og små bokstaver. Navnene inkluderer interne og lokaliserte navn.

Tillatte jokertegn er:

- "?" som representerer et enkelt tegn.

- "*" representerer null, ett eller flere tegn

foreldrestil: Når det er tilstede, beholdes bare underordnede av det gitte, lokaliserte eller ikke, overordnede stilnavnet.

brukt: Når Sann, må stilen brukes i dokumentet, når fraværende blir argumentet ignorert.

brukerdefinert: Når Sann, må stilen ha blitt lagt til av brukeren, enten i dokumentet eller dets mal, når fraværende, blir argumentet ignorert.

### Eksempel:

##### I Basic

        Dim vStyles As Variant
        vStyles = oDoc.Styles("ParagraphStyles") 'Alle stiler i familien
        vStyles = oDoc.Styles("ParagraphStyles", "H*") 'Overskrift, Overskrift 1, ...
        vStyles = oDoc.Styles("ParagraphStyles", Brukt := False, UserDefined := True) ' Alle brukerdefinerte stiler som ikke brukes
        vStyles = oDoc.Styles("ParagraphStyles", ParentStyle := "Standard") ' Alle stiler avledet fra 'Standard avsnittsstil'

##### I Python

        vStyles = doc.Styles('ParagraphStyles') #Alle stiler i familien
        vStyles = doc.Styles('ParagraphStyles', 'H*') #Overskrift, Overskrift 1, ...
        vStyles = doc.Styles('ParagraphStyles', Used = False, UserDefined = True) # Alle brukerdefinerte stiler som ikke brukes
        vStyles = doc.Styles('ParagraphStyles', ParentStyle = 'Standard") # Alle stiler avledet fra "Standard avsnittsstil"

## Toolbars

Denne metoden returnerer enten en liste over de tilgjengelige verktøylinjenavnene i det faktiske dokumentet eller en forekomst SFWidgets.Toolbar tjenesten.

### Syntaks:

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

### Parametre:

ToolbarName: Det vanlige navnet på en av de tilgjengelige 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 en gitt stil for alle dokumenttyper unntatt Base. Ingenting returneres når stilnavnet ikke eksisterer i den gitte familien.

### Syntaks:

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

### Parametre:

familie: En av stilfamiliene som finnes i selve dokumentet, som en streng som skiller mellom store og små bokstaver. Gyldige familienavn kan hentes ved å bruke StyleFamilies-egenskapen.

stilnavn: En av stilene som finnes i den gitte familien, som en streng som skiller mellom store og små bokstaver. StyleName kan være lokalisert eller ikke.

### Eksempel:

##### I Basic

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

##### I Python

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

Alle ScriptForge Grunnleggende rutiner eller identifikatorer som er prefikset med et understrekingstegn "_" er reservert for intern bruk. De er ikke ment å brukes i grunnleggende makroer eller Python-skript.

Lignende emner

ScriptForge.Ordbok tjeneste

ScriptForge.UI tjeneste

SFWidgets.Meny tjeneste