Indhold

# Tjenesten SFDocuments.Writer

Det delte bibliotek SFDocuments giver et antal metoder og egenskaber til at lette administration og håndtering af LibreOffice-dokumenter.

Nogle metoder et almindelige for alle dokumenttyper og er nedarvede fra modulet SF_Document, mens andre metoder, der er specifikke for Writer-dokumenter er defineret i modulet SF_Writer.

## Kald af tjeneste

Før brug af funktionen Writer 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

Tjenesten Writer er tæt knyttet til tjenesten UI (brgugerflade) i biblioteket ScriptForge. Herunder er der nogle få eksempler på, hvordan tjenesten Writer kan kaldes.

##### I Basic

Kodestumpen herunder opretter en instans af tjenesten Writer, der svarer til det aktuelt aktive aktive Writer-dokument.

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

En anden måde at oprette en instans af tjenesten Writer på, er at bruge tjenesten UI (brugerflade). I de følgende eksempler, oprettes en et nyt Writer-dokument og oDoc er en instans af tjenesten Writer:

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

Eller ved at bruge metoden OpenDocument (åbn_dokument) fra tjenesten UI (brugerflade):

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

Det er altså mulig at instantiere tjenesten Writer med metoden CreateScriptService (opret_scripttjeneste):

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

I eksemplet herover er "MyFile.odt" navnet på et åbent dokument-vindue. Hvis er ikke opgives et argument, inddrages det aktive vindue.

Det anbefales at frigøre ressourcer efter brug:

        Set oDoc = oDoc.Dispose()

Hvis dokumentet imidlertid ikke blev lukket med metodenCloseDocument (luk_dokument), bliver det nødvendigt at frigøre ressourcer med kommandoen, der er 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()

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

## Definitioner

## Egenskaber

## Metoder

Liste over metoder i tjenesten Writer
Forms | ImportStylesFromFile | PrintOut

## Forms

Afhængigt af de opgivne parametere returnerer denne metode:

- En nul-baseret matrix (eller en tuple i Python) med navnene på alle formularer, der indeholdes i dokumentet (hvis argumentet form (formular) ikke findes).

- Et eksemplar af tjenesten SFDocuments.Form repræsenterer formularen, specificeret som et argument.

Denne metode gælder kun Writer-dokumenter. Calc- og Base-dokumenter har deres egne Forms (formalar)-metode i tjenesten henholdsvis Calc og Base.

### Syntaks:

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

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

svc.Forms(form: int): svc

### Parametre:

form (formular): Navnet eller indekset, der svarer til en formular, der er lagret i dokumentet. Hvis dette argument mangler, returnerer metoden en liste over navnene på alle formularer, der findes i dokumentet.

### Eksempel:

I de følgende eksempler henter den første linje navnene på alle formularer i dokumentet og den anden linje henter objektet Form (formular) fra formularen ved navn "Form_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 metode indlæser alle de typografier, som hører til en eller flere typografifamilier, fra en lukket fil ind i det aktuelle dokument. Det aktuelle dokument skal være et Calc-dokument eller et Writer-dokument.

Importeres altid sammen:

- Afsnitstypografier og tegntypografier (ParagraphStyles og CharacterStyles)

- Nummereringstypografier og listetypografier (NumberingStyles og ListStyles)

Returnerer True hvis typografierne blev importeret uden fejl.

### Syntaks:

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

### Parametre:

filename (filnavn): Den fil som typografierne skal indlæses fra, i FileSystem-notation. Det bliver gået ud fra, at filen er af samme dokumenttype som det aktuelle dokument.

families (familier): En af typografifamilierne fra dokumentet, som en streng med forskel på store og små bogstaver, eller et array af sådanne strenge. Efterlad argumentet tomt for at importere alle familier.

overwrite (overskriv): Når True bliver aktuelle typografier med de samme navne overskrevet. Standard er False.

### Eksempel:

##### I Basic

        oDoc.ImportStylesFromFile("C:\User\Documents\myFile.ods", "ParagraphStyles", True)

##### I Python

        doc.ImportStylesFromFile('C:\User\Documents\myFile.ods', ("ParagraphStyles",), False)

## PrintOut

Sender dokumentets indhold til printeren. Printer kan tidligere have været defineret som standard af brugeren eller af metoden SetPrinter i tjenesten Document. Returnerer True (sand), når den 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: De sider, der skal udskrives, som en streng, ligesom i brugerfladen. Eksempel: "1-4;10;15-18". Standard = alle sider

kopier: Antallet af kopier, standard er 1.

printbackground (udskriv_baggrund): Udskriver baggrundsbilledet, når True (sand - standard).

printblankpages (udskriv_tomme_sider): Når False (falsk - standard), udlades tomme sider.

printevenpages (udskriv_lige_sider): Udskriver lige sider, når True (sand - standard).

printoddpages (udskriv_ulige_sider): Udskriv ulige sider, når True (sand - standard).

printimages (udskriv_billeder): Udskriv grafikobjekter, når True (sand – 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 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 SFDocuments.Document

Tjenesten ScriptForge.UI (brugerflade)