SFDocuments.Document-tjenesten

Indhold

# Tjenesten SFDocuments.Document

Biblioteket SFDocuments stiller metoder og egenskaber til rådighed, som kan hjælpe med administration og manipulation af LibreOffice-dokumenter.

Metoder, der kan anvendes på alle typer af dokumenter (tekstdokumenter, regneark, præsentationer og så videre) leveres af tjenesten SFDocuments.Document. Nogle eksempler er:

- Åbning, lukning og lagring af dokumenter

- Adgang til dokumenters standard- eller tilpassede egenskaber

De egenskaber, metoder eller argumenter, der er markeret med (*) er IKKE anvendelige på database-dokumenter.

Metoder og egenskaber, som er specifikke for bestemte LibreOffice-komponenter, findes i separate tjenester som SFDocuments.SF_Calc og SFDocuments.SF_Base.

Selv om Basic-sproget ikke tilbyder nedarvning mellem objektklasser, kan de sidstnævnte anses som underklasser af tjenesten SFDocuments.Document. Sådanne underklasser kan kalde de egenskaber og metoder, der beskrives herunder.

## Kald af tjeneste

Før brug af tjenesten Document skal biblioteket ScriptForge være indlæst eller importeret:

• Basic-makroer kræver, at biblioteket ScriptForge indlæses med følgende udtryk:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Python-scripts kræver import af scriptforge-modulet:
from scriptforge import CreateScriptService

Herunder er der tre forskellige måder at kalde tjenesten Document på.

##### I Basic

Med metoden getDocument fra tjenesten ScriptForge.UI:

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

Alternativt kan du bruge metoderne CreateDocument og OpenDocument fra tjenesten UI.

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

Brug af et vinduesnavn, når dokumentet allerede er åbent.

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

Brug af dokumentet, som ThisComponent henviser til. Dette er specielt nyttigt, når en makro afvikles fra Basic IDE.

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

Fra en makro udløst af en dokument-hændelse.

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

Tjenesten Document er tæt beslægtet med tjenesterne UI og FileSystem.

Undtaget, når dokumentet blev lukket med et program med metoden CloseFocument (hvor det er overflødigt), anbefales det at frigøre ressourcer efter brug:

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

Brug af forstavelsen "SFDocuments." under kald af tjenesten er frivillig.

## Egenskaber

Navn | Skrivebeskyttet | Type | Beskrivelse
--- | --- | --- | ---
CustomProperties (*) | Nej | Dictionary service | Returnerer en objektinstans af ScriptForge.Dictionary. Efter opdatering kan instansen igen sendes til den egenskab, som opdaterer dokumentet. Individuelle elementer i ordbogen/opslagstabellen (dictionary), kan være enten strenge, tal, (Basic-)datoer eller com.sun.star.util.Duration-elementer.
Description (*) | Nej | String | Giver adgang til dokumentegenskaben Beskrivelse (også kendt som "Kommentarer")
DocumentProperties (*) | Ja | Dictionary service | Returnerer et ScriptForge.Dictionary-objekt, der indeholder alle indførslerne. Dokumentets statitisk medtages. Bemærk, at de er specifikke for dokumenttypen. Eksempelvis medtager et Calc-dokument elementet "CelleOptælling". Andre dokumenter gør det ikke.
DocumentType | Ja | String | Strengværdi med dokumenttypen ("Base", "Calc", "Writer" og så videre)
ExportFilters (*) | Ja | String array | Returnerer en liste med de eksportfilter-navne, som kan bruges på det aktuelle dokument, som et array af strenge begyndende med indeks 0. Filtre, der kan bruges til både import og eksport, returneres også.
FileSystem | Ja | String | Returnerer en streng med URL-stien til roden af dokumentets virtuelle filsystem. Brug FileSystem-tjenesten til at se filsystemets indhold, og desuden til at oprette, åbne og læse filer gemt i det. Se denne hjælpeside for at lære mere om, hvordan du kan tilgå og manipulere mapper og filer i en LibreOffice-fils virtuelle filsystem.
ImportFilters (*) | Ja | String array | Returnerer en liste med de importfilter-navne, som kan bruges på det aktuelle dokument, som et array af strenge begyndende med indeks 0. Filtre, der kan bruges til både import og eksport, returneres også.
IsBase IsCalc IsDraw IsFormDocument IsImpress IsMath IsWriter | Ja | Boolean | Præcis en af disse egenskaber er True for et givet dokument.
Keywords (*) | Nej | String | Giver adgang til dokumentegenskaben Nøgleord. Repræsenteres som en komma-separeret liste over nøgleord
Readonly (*) | Ja | Boolean | True hvis dokumentet faktisk er i skrivebeskyttet tilstand
StyleFamilies (*) | Ja | String array | Liste over tilgængelige typografi-familier. Gælder alle dokumenttyper undtagen Base.
Subject (*) | Nej | String | Giver adgang til dokumentegenskaben Emne
Title (*) | Nej | String | Giver adgang til dokumentegenskaben Titel
XComponent | Ja | UNO-objekt | UNO-objektet com.sun.star.lang.XComponent eller com.sun.star.comp.dba.ODatabaseDocument, som repræsenterer dokumentet.
XDocumentSettings (*) | Ja | UNO-objekt | Et com.sun.star.XXX.DocumentSettings UNO-objekt, hvor XXX er enten sheet, text, drawing eller presentation. Dette objekt giver adgang til de interne UNO-egenskaber, som er specifikke for dokumenttypen.

### Eksempel:

##### I Basic

Eksemplet herunder udskriver alle dokumentets egenskaber. Bemærk, at objektet oDoc, der returneres af metodenUI.OpenDocument 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 at tilgå dokumentegenskaber i et Python-script skal brugeren adressere dem direkte ved at bruge deres navne, som vist herunder:

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

## Activate

Returnerer True, hvis dokumentet kunne aktiveres. Ellers sker der ingen ændring i den faktiske brugerflade. Den svarer til metoden Activate i tjenesten UI.

Denne metode er nyttig, når man har brug fir at give fokus til et dokument, der minimeret eller skjult. when one needs to give focus for a document that is minimized or hidden.

### Syntaks:

svc.Activate(): bool

### Eksempel:

Eksemplet herunder finder, at filen "My_File.ods" allerede er åben, 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 på, at du kan kalde tjenesten Document ved at overføre enten "Document" eller "SFDocuments.Document" til tjenesten CreateScriptService

## CloseDocument

Lukker dokumentet. Hvis dokumentet allerede er lukket, uanset hvorden det blev lukket, har denne metode ingen virkning og returnerer False.

Metoden returnerer også False, hvis brugeren afviser at lukke den.

Returnerer True, hvis det lykkedes at lukke dokumentet.

### Syntaks:

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

### Parametre:

gem_spørg: HvisTrue (sand) (standard), bedes brugeren om at bekræfte, om ændringerne skal skrives til disken. Dette argument ignoreres, hvis dokumentet ikke blev ændret.

### Eksempel:

##### I Basic

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

##### I Python

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

## CreateMenu

Opretter et nyt menuelement i menulinjen på et givet dokumentvindue.

Denne metode returnerer en instans af tjenesten SFWidgets.Menu.

Den oprettede menu er kun tilgængelig under den aktuelle LibreOffice-sessin og gemmes hverken i dokumentet eller i de generelle programindstillinger. Derfor får lukning af dokumentvinduet menuen til at forsvinde. Den kommer kum frem igen, når den makro, der opretter menuen, udføres igen.

### Syntaks:

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

### Parametre:

menuheader (menuoverskrift): Den nye menus topniveau-navn.

before: Navnet (som en streng) eller positionen (som et heltal startende med 1) på en eksisterende menu, som den nye menu placeres foran. Hvis der ikke er defineret nogen værdi for dette argument, oprettes menuen på den sidste plads på menulinjen.

submenuchar (undermenutegn): Det skilletegn, der bruges til at oprette menutræer under kald af metoder som AddItem (tilføj_element) fra tjenesten Menu. Standardværdien er ">".

### Eksempel:

##### I Basic

        Dim oDoc as Object, oMenu as Object
        Set oDoc = CreateScriptService("Document")
        Set oMenu = oDoc.CreateMenu("Min menu")
        With oMenu
            ' Føjer elementer til menuen
            .AddItem("Item A")
            .AddItem("Item B")
            ' ...
            ' Når menuen er oprettet, kan instansen af tjenesten kasseres
            .Dispose()
        End With

##### I Python

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

Se hjælpesiden SFWidgets.Menu for at få mere at vide om, hvordan menuer oprettes/fjernes i LibreOffice dokumentvinduer.

## DeleteStyles

Undertrykker en enkelt typografi eller et array af typografier givet ved deres navne, indenfor en specifik familie af typografier. Kun brugerdefinerede typografier kan slettes, indbyggede typografier bliver ignoreret. Kan bruges på alle dokumenttyper undtagen Base og FormDocument.

### Syntaks:

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

### Parametre:

family: En af typografi-familierne, som findes i det aktuelle dokument, som en streng med skelnen mellem store og små bogstaver. Gyldige familienavne kan hentes med StyleFamilies-egenskaben.

styleslist: Navnet på en enkelt typografi som en streng, eller et array af typografinavne. Typografinavnene kan være oversatte eller ikke. Denne StylesList er typisk output fra udførelsen af en Styles()-metode.

### Eksempel:

##### I Basic

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

##### I Python

        # Fjerner typografier ud fra et præfiks
        a_list = doc.Styles('ParagraphStyles', namepattern = "Py*")
        doc.Styles('ParagraphStyles', a_list)

## Echo

Sætter opdateringer af brugerfladen (UI) i dvale under afviklingen af en makro. Valgfrit kan musemarkøren ændres til et timeglas mens UI-opdateringer er i dvale.

Denne metode kan give nogle ydeevnefordele for makroer, der udfører mange handlinger, der kræver opdateringer af brugerfladen.

### Syntaks:

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

### Parametre:

echoon: Angiv False for at sætte UI-opdateringer i dvale. Standardværdien er True, hvilket aktiverer UI-opdateringer i realtid.

hourglass: Angiv True for at ændre musemarkøren til et timeglas (standard = False).

Flytning af musemarkøren, efter at den er ændret til et timeglas, kan få den til at skifte til en anden markør afhængigt af dens nye baggrund.

### Eksempel:

##### I Basic

        ' Sætter UI-opdateringer i dvale og ændrer musemarkøren til et timeglas
        oDoc.Echo(EchoOn := False, HourGlass := True)
        ' Andre makrokommandoer
        ' ...
        ' Genopretter UI-opdateringer og musemarkør
        oDoc.Echo()

##### I Python

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

## ExportAsPDF

Eksporterer dokumentet direkte som en PDF-fil til den angivne placering. Returnerer True (sand), hvis det lykkedes at oprette PDF-filen.

Eksportindstillinger kan sættes enten manuelt med dialogen Filer ▸ Eksportér som ▸ Eksportér som PDF eller ved at kalde metoderne GetPDFExportOptions (hent_PDF-eksport-indstillinger) og SetPDFExportOptions (sæt_PDF-eksport-indstillinger) fra tjenesten Session.

### Syntaks:

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

### Parametre:

filnavn: Den fuldstændige sti og filnavn på den PDF-fil, der skal oprettes. Det skal følge notationen i SF_FileSystem.FileNaming.

overwrite: Angiver, om målcellen kan overskrives (Standard = False – falsk). Der vil ske en fejl, hvis overwrite (overskriv) er sat til False (falsk) og målfilen allerede eksisterer.

sider: Streng, der angiver, hvilke sider, der skal eksporteres. Dette argument bruger den samme notation som i dialogen Filer ▸ Eksportér som ▸ Eksportér som PDF.

adgangskode: Angiver en adgangskode til åbning af PDF-filen.

vandmærke: Tekst, der skal bruges som vandmærke i PDF-filen og som bliver tegnet på hver side i den resulterende PDF.

### Eksempel:

##### I Basic

Følgende eksempel eksporterer det aktuelle dokument som en PDF-fil, definerer en adgangskode og overskriver målfilen, hvis den allerede eksisterer.

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

Kodestumpen herunder henter de aktuelle PDF-eksportindstillinger og bruger dem til at oprette PDF-filen.

        Dim exportSettings as Object, oSession as Object
        oSession = CreateScriptService("Session")
        exportSettings = oSession.GetPDFExportOptions()
        ' Sætter indstillingen for eksport af kommentarer som PDF-noter til True (sand).
        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")

## PrintOut

Denne metode sender dokumentets indhold til standardprinteren eller til den printer, der blev defineret med metoden SetPrinter.

Returnerer True (sand), hvis det lykkedes at udskrive dokumentet.

### Syntaks:

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

### Parametre:

sider: De sider, der skal udskrives, som en streng. ligesom i brugerfladen. Eksempel: "1-4;10;15-18". Standard er alle sider.

kopier: Antallet af 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 topniveau-menu fra menulinjen i et givet dokumentvindue.

Returnerer True (sand), hvis den angivne menu kunne fjernes. Hvis den angivne menu ikke eksisterer, returnerer metoden False (falsk).

Denne metode kan bruges til at fjerne ethvert menuelement fra dokumentvinduet, herunder standardmenuer. Ingen af disse ændringer på menulinjen gemmes imidlertid i dokumentet eller i programindstillingerne. For at genoprette menulinjen med standard-indstillingerne, lukker du bare dokumentvinduet og åbner det igen.

### Syntaks:

svc.RemoveMenu(menuheader: str): bool

### Parametre:

menuheader (menuoverskrift): Topniveaunavnet på den menu, som skal fjernes.

### Eksempel:

##### I Basic

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

##### I Python

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

Se hjælpesiden SFWidgets.Menu for at få mere at vide om, hvordan menuer oprettes/fjernes i LibreOffice dokumentvinduer.

## RunCommand

Udfører en UNO-kommando i det dokumentvindue, der er knyttet til instansen af tjenesten. Nogle få typiske kommandoer er: "Save" (gem), "SaveAs" (gem som), "ExportToPDF" (eksportér til PDF), "Undo" (fortryd), "Copy" (kopiér), "Paste" (indsæt), og så videre.

Dokumentet selv behøver ikke at være aktivt for at kunne køre kommandoer.

Kommandoer kan køres med eller uden argumenter. Argumenter valideres ikke før kommandoen køres. Hvis kommandoen eller dens argumenter er ugyldige, sker der intet.

Se hele listen over UNO-kommandoer, der kan køres i LibreOffice på wikisiden Udvikling/Forsendelseskommandoer.

### Syntaks:

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

### Parametre:

command (kommando): Streng med forskel på store og små bostaver, der indeholder UNO-kommandoens navn. Medtagelse af forstavelsen ".uno:" i kommandoen er valgfri. Selve kommandoens korrekthed tjekkes ikke. Hvis der ikke sker noget efter kaldet af kommandoen er kommandoen sandsynligvis forkert.

args: For hvert argument, der skal videregives til kommandoen, skal du specificere et par, der indeholder argumentets navn og værdi.

### Eksempel:

##### I Basic

Følgende eksempel kører kommandoen SelectData i en Calc-fil kaldet "MinFil.ods", som vil resultere i markeringen af dataområdet, baseret på den aktuelt valgte celle. Bemærk, at denne kommando ikke kræver nogen argumenter.

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

Herunder er et eksempel, der kører UNO-kommandoen ReplaceAll (erstat_alle) og videregiver værdier som dens argumenter SearchString (søgestreng) og ReplaceString (erstatningsstreng). Kørsel af denne kommando erstatter alle forekomster af strengen "abc" med "ABC" på det aktuelle ark.

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

Bemærk, at kald af kommandoen ReplaceAll (erstat_alle) uden argumenter åbner dialogen Find og erstat.

##### I Python

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

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

I Python er det også muligt at kalde RunCommand (kør_kommando) med nøgleordsargumenterne:

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

Hver LibreOffice-komponent har sit eget sæt af tilgængelige kommandoer. En nem måde at lære kommandoer på er at gå til Funktioner ▸ Tilpas ▸ Tastatur. Når du placerer musen over en funktion på listen Funktioner, vises et værktøjstip med den tilsvarende UNO-kommando.

## Save

Gemmer dokumentet på den filplacering, det blev hentet fra. Metoden ignoreres, hvis dokumentet ikke blev ændret.

Returnerer False (Falsk), hvis dokumentet ikke kunne gemmes. Der sættes et fejlflag, hvis filen er åbnet som skrivebeskyttet, eller hvis det er en ny fil, der endnu ikke er blevet gemt.

Selve dokumentet behøver ikke at være aktivt, for at køre denne metode.

### Syntaks:

svc.Save(): bool

### Eksempel:

##### I Basic

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

##### I Python

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

## SaveAs

Gemmer dokumentet på den givne filplacering. Den nye placering bliver det nye filnavn, som simple metodekald Save (Gem) anvendes på.

Returnerer False (Falsk), hvis dokumentet ikke kunne gemmes. Der sættes et fejlflag, hvis overskrivning af målet afvises eller når målet har attributten Read-only (Skrivebeskyttet).

Selve dokumentet behøver ikke at være aktivt for at køre denne metode.

### Syntaks:

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

### Parametre:

fil_navn: En streng, der indeholder det filnavn, der skal bruges. Det skal følge notationen SF_FileSystem.FileNaming.

overskriv: Hvis True (sand), kan målfilen blive overskrevet (standard = False (falsk)).

adgangskode (*): En streng uden mellemum, der skal beskytte dokumentet.

filter_navn (*): Navnet på et filter, der skal bruges til at gemme dokumentet. Hvis argumentet gives videre, skal filteret eksistere.

filterindstillinger (*): En valgfri streng med indstillinger, der er forbundet med dette filter.

### Eksempel:

##### I Basic

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

##### I Python

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

## SaveCopyAs

Gemmer en kopi eller eksporterer dokumentet til den givne filplacering. Den faktiske placering er uændret.

Returnerer False (Falsk), hvis dokumentet ikke kunne gemmes. Der sættes et fejlflag, når overskrivning af målet afvises eller når målet har atrributten Read-only (Skrivebeskyttet).

Selve dokumentet behøver ikke at være aktivt for at køre denne metode.

### Syntaks:

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

### Parametre:

filnavn: En streng, der indholder det finavnl, der skal bruges. Det skal følge notationen iSF_FileSystem.FileNaming.

overskriv: Hvis True (sand), kan målfilen blive overskrevet (Standard = False (falsk)).

adgangskode (*): En streng uden mellemrum, der skal beskytte dokumentet.

filternavn (*): Navnet på et filter, der skal bruges til at gemme dokumentet. Hvis dette argument gives videre, skal filteret eksistere.

filterindstillinger (*): En valgfri streng, der er tilknyttet 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 dokumentets printerindstillinger.

Returnerer True (sand), når den lykkes.

### Syntaks:

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

### Parametre:

printer: Navnet på den printerkø, der skal printes til. Når den mangler, sættes standardprinteren.

orientation: Papirretning, enten PORTRAIT (stående) eller LANDSCAPE (liggende). Når den mangler, efterlades feltet uændret med hensyn til printerindstillinger.

paperformat: Angiver papirformatet som en strengværdi, som kan være enten A3, A4, A5, LETTER, LEGAL eller TABLOID. Efterlades uændret, hvis manglende.

### Eksempel:

##### I Basic

        oDoc.SetPrinter(Orientation := "PORTRAIT")

##### I Python

        doc.SetPrinter(paperformat='TABLOID')

## Styles

Henter en liste af typografier, som matcher et valgfrit sammensat kriterium. Det returnerede array kan være tomt. Kan bruges for alle dokumenttyper undtagen Base.

### Syntaks:

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

family: En af typografi-familierne, som findes i det aktuelle dokument, som en streng med skelnen mellem store og små bogstaver. Gyldige familienavne kan hentes med StyleFamilies-egenskaben.

category: En streng uden skelnen mellem store og små bogstaver: "TEXT", "CHAPTER", "LIST", "INDEX", "EXTRA", "HTML". For deres respektive betydninger, se API-dokumentationen for afsnitstypografi-kategori.

Dette argument ignoreres, når family-argumentet ikke er "ParagraphStyles".

namepattern: Et filter på typografinavne, som et strengmønster med forskel på store og små bogstaver. Navnene inkluderer de internationale og de oversatte navne.

Følgende jokertegn kan bruges:

- "?" står for et enkelt tegn.

- "*" repræsenterer nul, et eller flere tegn.

parentstyle: Når dette argument er til stede, tilbageholdes kun underordnede ("børn") af den givne overordnede ("ophav") typografi, hvad enten de er oversatte eller internationale.

used: Når True, skal typografien være anvendt i dokumentet; når udeladt ignoreres argumentet.

userdefined: Når True, skal typografien være tilføjet af brugeren, enten i dokumentet eller dets skabelon; når udeladt ignoreres argumentet.

### Eksempel:

##### I Basic

        Dim vStyles As Variant
        vStyles = oDoc.Styles("ParagraphStyles") ' Alle typografier i familien
        vStyles = oDoc.Styles("ParagraphStyles", "O*") ' Overskrift , Overskrift 1, ...
        vStyles = oDoc.Styles("ParagraphStyles", Used := False, UserDefined := True) ' Alle brugerdefinerede typografier, som ikke bliver anvendt
        vStyles = oDoc.Styles("ParagraphStyles", ParentStyle := "Standard") ' Alle typografier afledt fra 'Standard-afsnitstypografi'

##### I Python

        vStyles = doc.Styles('ParagraphStyles')  # Alle typografier i familien
        vStyles = doc.Styles('ParagraphStyles', 'O*')  # Overskrift, Overskrift 1, ...
        vStyles = doc.Styles('ParagraphStyles', Used = False, UserDefined = True)  # Alle brugerdefinerede typografier, som ikke bliver anvendt
        vStyles = doc.Styles('ParagraphStyles', ParentStyle = 'Standard")  # Alle typografier afledt fra "Standard-afsnitstypografi"

## Toolbars

Denne metode returnerer enten en liste med navne på de tilgængelige værktøjslinjer i det aktuelle dokument, eller en instans af SFWidgets.Toolbar-tjenesten.

### Syntaks:

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

### Parametre:

ToolbarName: Det sædvanlige navn på en af de tilgængelige værktøjslinjer.

### Eksempel:

##### I Basic

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

##### I Python

        a_list = doc.Toolbars()

## XStyles

Denne metode returnerer UNO-repræsentationen af en given typografi, for alle dokumenttype undtagen Base. Der returneres Nothing, når navnet StyleName ikke findes i den givne familie.

### Syntaks:

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

### Parametre:

family: En af typografi-familierne, som findes i det aktuelle dokument, som en streng med skelnen mellem store og små bogstaver. Gyldige familienavne kan hentes med StyleFamilies-egenskaben.

stylename: Navnet på en af typografierne i den givne familie, som en streng der skelner mellem store og små bogstaver. StyleName kan være oversat eller internationalt.

### 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-rutiner eller identifikatorer, der indledes med et understregstegn "_" er reserveret til internt brug. Det er ikke meningen, at de skal bruges i Basic-makroer eller Python-scripts.

Relaterede emner

Tjenesten ScriptForge.Ordbog

Tjenesten ScriptForge.UI (brugerflade)

Tjenesten SFWidgets.Menu

Støt os venligst!