Innhold

# SFDocuments.Writer-tjeneste

Det delte biblioteket SFDocuments gir en rekke metoder og egenskaper for å forenkle administrasjon og håndtering av LibreOffice-dokumenter.

Noen metoder er generiske for alle typer dokumenter og er arvet fra SF_Document-modulen, mens andre metoder som er spesifikke for Writer-dokumenter er definert i SF_Writer-modulen.

## Tjenestepåkallelse

Før du bruker Writer-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

Writer-tjenesten er nært knyttet til UI-tjenesten til ScriptForge-biblioteket. Nedenfor er noen eksempler på hvordan Writer-tjenesten kan anropes.

##### I Basic

Kodebiten nedenfor oppretter en Writer tjenesteforekomst som tilsvarer det aktive Writer-dokumentet.

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

En annen måte å lage en forekomst av Writer-tjenesten på er å bruke UI-tjenesten. I det følgende eksempelet opprettes et nytt Writer-dokument og oDoc er en Writer tjenesteforekomst:

        Dim ui As Object, oDoc As Object
        Set ui = CreateScriptService("UI")
        Set oDoc = ui.CreateDocument("Writer")

Eller ved å bruke OpenDocument-metoden fra UI-tjenesten:

        Set oDoc = ui.OpenDocument("C:\Me\MyFile.odt")

Det er også mulig å instansiere Writer-tjenesten ved å bruke CreateScriptService-metoden:

        Dim oDoc As Object
        Set oDoc = CreateScriptService("SFDocuments.Writer", "MyFile.odt")

I eksemplet ovenfor er "MyFile.odt" navnet på et åpent dokumentvindu. Hvis dette argumentet ikke er oppgitt, vurderes det aktive vinduet.

Det anbefales å frigjøre ressurser etter bruk:

        Set oDoc = oDoc.Dispose()

Men hvis dokumentet ble lukket med CloseDocument-metoden, blir det unødvendig å frigjøre ressurser ved å bruke kommandoen beskrevet ovenfor.

##### I Python

        myDoc = CreateScriptService("Writer") ' Default = ActiveWindow

        ui = CreateScriptService("UI")
        myDoc = ui.CreateDocument("Writer")

        myDoc = ui.OpenDocument(r"C:\Documents\MyFile.odt")

        myDoc = CreateScriptService("SFDocuments.Writer", "MyFile.odt")
        myDoc.Dispose()

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

## Definisjoner

## Egenskaper

## Metoder

Liste over metoder i Writer Tjenesten
Forms | ImportStylesFromFile | PrintOut

## Forms

Avhengig av parametrene som er gitt, vil denne metoden returnere:

- En nullbasert matrise (eller en tuppel i Python) med navnene på alle skjemaene i dokumentet (hvis form-argumentet er fraværende)

- En SFDocuments.Form tjenesteforekomst som representerer skjemaet angitt som argument.

Denne metoden gjelder bare for Writer-dokumenter. Calc- og Base-dokumenter har sine egne Skjema-metoder i Calc og Base-tjenester, henholdsvis.

### Syntaks:

svc.Forms(): str[0..*]

svc.Forms(form: str = ''): svc

svc.Forms(form: int): svc

### Parametre:

skjema: Navnet eller indeksen som tilsvarer et skjema som er lagret i dokumentet. Hvis dette argumentet er fraværende, vil metoden returnere en liste med navnene på alle tilgjengelige skjemaer i dokumentet.

### Eksempel:

I de følgende eksemplene får den første linjen navnene på alle skjemaene i dokumentet, og den andre linjen henter Skjema-objektet til skjemaet kalt "Skjema_A".

##### I Basic

        Set FormNames = oDoc.Forms()
        Set FormA = oDoc.Forms("Form_A")

##### I Python

        form_names = doc.Forms()
        form_A = doc.Forms("Form_A")

## 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

- Avsnittsstiler og Tegnstiler

Returnerer Sann hvis stiler ble importert.

### 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. La dette argumentet stå tomt for å importere 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

Send innholdet i dokumentet til skriveren. Skriveren kan være tidligere definert som standard, av brukeren eller av SetPrinter metoden for Dokument-tjenesten. Returnerer Sann når det lykkes.

### Syntaks:

svc.PrintOut(opt pages: str = "", opt copies: num = 1, opt printbackground: bool = True, opt printblankpages: bool = False, opt printevenpages: bool = True, opt printoddpages: bool = True, opt printimages: bool = True): bool

### Parametre:

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

kopier: Antall kopier, standard er 1.

printbackground: Skriver ut bakgrunnsbildet når Sann (standard).

printblankpages: Når Usann (standard), utelater tomme sider.

printevenpages: Skriver ut partallssider når Sann (standard).

printoddpages: Skriv ut oddetallssider når Sann (standard).

printimages: Skriv ut grafiske objekter når Sann (standard).

### Eksempel:

##### I Basic

          oDoc.PrintOut("1-4;10;15-18", Copies := 2, PrintImages := False)

##### I Python

        doc.PrintOut(printblankpages = True, copies = 3)

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

SFDocuments.Dokument tjeneste

ScriptForge.UI tjeneste

Supporter oss!