Innhold

# ScriptForge-biblioteket

For å bruke denne funksjonen …

Åpne Verktøy - Makroer - LibreOffice Basic - Rediger og velg Programmakroer-kontainer.

ScriptForge-biblioteker bygger opp en utvidbar samling av makroskriptressurser for LibreOffice som kan startes fra grunnleggende makroer eller Python-skript.

• 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

For å lære mer om hvordan du oppretter og kjører Python-skript ved å bruke ScriptForge-biblioteket, les hjelpesiden Opprette Python-skript med ScriptForge.

## Aktiverer ScriptForge-tjenester

De beskrevne modulene og klassene påkalles fra brukerskript som "Tjenester". En generisk konstruktør av disse tjenestene er designet for det formålet for hvert språk.

Metoden Kasser er tilgjengelig i alle tjenester og bør anropes for å frigjøre ressurser etter bruk:

##### I Basic

        GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
        Set oSvc = CreateScriptService("servicename"[, arg0, arg1, ...])
        ' ...
        oSvc.Dispose()

##### I Python

        from scriptforge import CreateScriptService
        svc = CreateScriptService('servicename'[, arg0, arg1, ...])
        # ...
        svc.Dispose()

## Tjenester levert av ScriptForge-biblioteket

Kategori | Tjenester
--- | ---
LibreOffice Basic | Array Dictionary | Exception FileSystem | String TextStream
Dokumentinnhold | Base Calc Chart | Database Dataset Datasheet | Document FormDocument Writer
Brukergrensesnitt | Dialog DialogControl Form | FormControl Menu PopupMenu | Toolbar ToolbarButton UI
Verktøy | Basic L10N Platform | Region Services Session | Timer UnitTest

## ScriptForge.Matrise tjeneste

Gir en samling metoder for å manipulere og transformere matriser med én dimensjon (vektorer) og matriser med to dimensjoner (matriser). Dette inkluderer settoperasjoner, sortering, import fra og eksport til tekstfiler.

Matriser med mer enn to dimensjoner kan ikke brukes med metodene i denne tjenesten, det eneste unntaket er CountDims-metoden som godtar matriser med et hvilket som helst antall dimensjoner.

## SFDocuments.Base-tjeneste

Tjenesten Base gir en rekke metoder og egenskaper for å forenkle administrasjon og håndtering av LibreOffice Base-dokumenter.

Denne tjenesten er nært knyttet til Dokument-tjenesten, som gir generiske metoder for håndtering av LibreOffice-dokumenter, inkludert basisdokumenter. Derfor utvider Base-tjenesten Dokument-tjenesten og gir ytterligere metoder som er spesifikke for basisdokumenter, slik at brukere kan:

- Få tilgang til databasen i et basisdokument.

- Åpne skjemadokumenter som er lagret i et basisdokument.

- Sjekk om et skjemadokument fra et basisdokument er lastet inn.

## ScriptForge.Grunnleggende tjeneste

Tjenesten ScriptForge.Basic foreslår en samling av LibreOffice Basic-metoder som skal utføres i en Python-kontekst. Grunnleggende tjenestemetoder gjengir den nøyaktige syntaksen og oppførselen til grunnleggende innebygde funksjoner.

## SFDocuments.Calc tjeneste

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

Tjenesten SFDocuments.Calc er en underklasse av SFDocuments.Document tjeneste. Alle metoder og egenskaper definert for Dokument-tjenesten kan også nås ved å bruke en Calc-tjenesteforekomst.

Tjenesten Calc er fokusert på:

- Håndtering av ark i et Calc-dokument (kopiere, sette inn, flytte osv.)

- Utveksling av data mellom grunnleggende datastrukturer og Calc-områder

- Kopiering og import av enorme mengder data

## SFDocuments.Chart-tjeneste

Tjenesten Chart gir et sett med egenskaper og metoder for å håndtere diagrammer i Calc-dokumenter. Med denne tjenesten er det mulig å:

- Få tilgang til kartobjekter i Calc-dokumenter og manipuler egenskapene deres.

- Opprett og sett inn nye diagrammer i et Calc-dokument.

- Eksporter diagrammer som bildefiler.

## SFDatabaser.Database-tjeneste

Tjenesten Database gir tilgang til databaser enten innebygd eller beskrevet i basisdokumenter. Denne tjenesten tilbyr metoder for å:

- Få tilgang til data i databasetabeller.

- Kjør SELECT-spørringer og utfør aggregerte funksjoner.

- Kjør SQL-handlingssetninger som INSERT, UPDATE, DELETE osv.

## SFDatabaser.Datasett-tjeneste

Tjenesten Datasett brukes til å representere tabelldata produsert av en database. Med denne tjenesten er det mulig å:

- Naviger gjennom og få tilgang til dataene i et datasett.

- Oppdater, sett inn og fjern poster i et datasett.

## SFDatabaser.Dataark tjeneste

Tjenesten Dataark gjør det mulig å visualisere innholdet i databasetabeller samt resultatene av spørringer og SQL-setninger ved å bruke datavisningen i Base. I tillegg tillater denne tjenesten å:

- Legg til egendefinerte menyer i datavisningen.

- Få tilgang til verdier i bestemte posisjoner i datavisningen.

- Plasser markøren i en bestemt celle i datavisningen.

## SFDialoger.Dialog tjeneste

Tjenesten Dialog bidrar til administrasjonen av dialoger som er opprettet med den grunnleggende Dialog Editor eller dialoger som er opprettet i farten . Hver forekomst av gjeldende klasse representerer en enkelt dialogboks som vises for brukeren.

## SFDialogs.DialogControl tjeneste

Tjenesten DialogControl administrerer kontrollene som tilhører en dialog som er definert med Basic Dialog Editor. Hver forekomst av gjeldende tjeneste representerer en enkelt kontroll i en dialogboks.

Fokuset er satt på å få og stille inn verdiene som vises av kontrollene i dialogboksen. Formatering er tilgjengelig via egenskapene XControlModel og XControlView.

Merk at innholdet i den unike DialogControl.Value egenskapen varierer i henhold til kontrolltypen.

En spesiell oppmerksomhet er gitt til kontroller av typen trekontroll. Det er lett å befolke et tre, enten gren for gren, eller med et sett med grener på en gang. Fylling av en trekontroll kan utføres statisk eller dynamisk.

## ScriptForge.Ordbok tjeneste

En ordbok er en samling av nøkkelelementpar

- Nøkkelen er en streng. I Basic-skript bestemmes nøkkelens skille mellom store og små bokstaver når ordboken opprettes. I Python-skript skiller nøkkelen alltid mellom store og små bokstaver.

- Enheter kan være av hvilken som helst type

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

## ScriptForge.Unntak-tjeneste

Tjenesten Unntak er en samling metoder for å hjelpe til med kodefeilsøking i Basic- og Python-skript og i feilhåndtering i Basic-skript.

I Grunnleggende skript, når en kjøretidsfeil oppstår, hjelper metodene og egenskapene til Exception-tjenesten å identifisere feilkonteksten og tillate å håndtere den.

## ScriptForge.FileSystem-tjeneste

Tjenesten FileSystem inkluderer rutiner for å håndtere filer og mapper. Deretter følger noen eksempler på funksjonene som tilbys av denne tjenesten:

- Kontroller om det finnes en fil eller mappe.

- Opprett og slett mapper og filer.

- Start dialogbokser for å åpne/lagre filer.

- Få tilgang til listen over filer i en mappe osv.

## SFDocuments.Form tjeneste

Tjenesten Form gir metoder og egenskaper for å administrere skjemaer i LibreOffice-dokumenter. Denne tjenesten støtter skjemaer i Base-, Calc- og Writer-dokumenter og lar deg:

- Åpne og aktiver skjemaer.

- Naviger gjennom poster som vises i skjemaet.

- Få tilgang til kontrollene inne i skjemaet.

- Få tilgang til underskjemaer til et overordnet skjema.

## SFDocuments.FormControl tjeneste

Tjenesten FormControl gir tilgang til kontrollene som tilhører et skjema, et underskjema eller en tabellkontroll i et FormDocument. Hver forekomst av FormControl-tjenesten refererer til en enkelt kontroll i skjemaet. Denne tjenesten lar brukere:

- Hent og angi egenskapene til kontrollen representert av 1FormControl2-forekomsten.

- Få tilgang til gjeldende verdi som vises av kontrollen.

- Sett fokus på ønsket kontroll.

## SFDocuments.FormDocument-tjeneste

Tjenesten FormDocument gir tilgang til skjemadokumenter som er lagret i LibreOffice Base-dokumenter.

I et Base dokument kan eksisterende skjemadokumenter vises ved å velge Vis - Skjemaer i brukergrensesnittet. Hvert skjemadokument kan være sammensatt av ett eller flere skjemaer, inkludert hovedskjemaet og andre underskjemaer.

## ScriptForge.L10N tjeneste

Denne tjenesten gir en rekke metoder knyttet til oversettelse av strenger med minimal innvirkning på programmets kildekode. Metodene som tilbys av L10N-tjenesten kan hovedsakelig brukes til å:

- Lag POT-filer som kan brukes som maler for oversettelse av alle strenger i programmet.

- Få oversatte strenger under kjøring for språket som er definert i egenskapen Lokal.

## SFWidgets.Meny tjeneste

Tjenesten Meny kan brukes til å opprette og fjerne menyer fra menylinjen i et LibreOffice-dokumentvindu. Hver menyoppføring kan knyttes til et skript eller med en UNO-kommando. Denne tjenesten gir følgende funksjoner:

- Oppretting av menyer med egendefinerte oppføringer, avmerkingsbokser, radioknapper og skilletegn.

- Dekorasjon av menyelementer med ikoner og verktøytips.

## ScriptForge.Plattform-tjeneste

Tjenesten Plattform gir en samling egenskaper om gjeldende utførelsesmiljø og kontekst, for eksempel:

- Maskinvareplattformen (arkitektur, CPU-antall, maskintype osv.)

- Operativsysteminformasjon (OS-type, utgivelse, versjon osv.)

- The LibreOffice versjon

- Det gjeldende brukernavnet

## SFWidgets.PopupMenu tjeneste

Tjenesten PopupMenu kan brukes til å lage popup-menyer som kan assosieres med hendelser eller utføres av skript. Denne tjenesten gir følgende funksjoner:

- Oppretting av popup-menyer med egendefinerte oppføringer, avmerkingsbokser og radioknapper.

- Dekorasjon av menyelementer med ikoner og verktøytips.

## ScriptForge.Region-tjeneste

Tjenesten Region gir en samling egenskaper og metoder for å håndtere lokale og regionrelaterte aspekter ved programmering, for eksempel:

- Få tilgang til lokale og regionavhengige innstillinger som tallformatering, valuta og tidssoner.

- Konvertere tidssoner og beregne sommertid (DST) forskyvninger.

- Transformere tall til tekst på alle støttede språk.

## ScriptForge.Tjenester tjeneste

Hovedformålet med modulen Tjenester er å gi tilgang til metoden CreateScriptService, som kan kalles inn brukerskript for å instansiere tjenester som er implementert ved hjelp av ScriptForge-rammeverket.

## ScriptForge.Session-tjeneste

Tjenesten Økt samler ulike generelle metoder for:

- installasjons- eller utførelsesmiljøet

- UNO introspeksjon

- påkalling av eksterne skript eller programmer

## ScriptForge.String tjeneste

Tjenesten String gir en samling metoder for strengbehandling. Disse metodene kan brukes til å:

- Validere innholdet i strenger

- Formater strenger ved å trimme, rettferdiggjøre eller pakke inn innholdet

- Bruk regulære uttrykk for å søke og erstatte delstrenger

- Bruk hash-algoritmer på strenger, etc.

## ScriptForge.TextStream-tjeneste

Tjenesten TextStream brukes til å lese sekvensielt fra og skrive til filer som er åpnet eller opprettet med ScriptForge.FileSystem-tjenesten.

Metodene OpenTextFile og CreateTextFile fra FileSystem-tjenesten returnerer en forekomst av TextStream-tjenesten.

## ScriptForge.Timer tjeneste

Tjenesten Timer måler hvor lang tid det tar å kjøre brukerskript.

En Timer måler varigheter. Som kan være:

- Startet, for å indikere når du skal begynne å måle tid.

- Suspendert, for å pause måling av kjøretid.

- Gjenopptatt, for å fortsette å spore kjøretid etter at timeren er suspendert.

- Startet på nytt, noe som vil avbryte tidligere målinger og starte Timeren på null.

## SFWidgets.Verktøylinje tjeneste

Tjenesten Verktøylinje gjør det mulig å hente informasjon relatert til verktøylinjene som er tilgjengelige for et spesifikt dokumentvindu. Med denne tjenesten er det mulig å:

- Slå av eller på synligheten til spesifikke verktøylinjer.

- Få tilgang til informasjon om knappene som er tilgjengelige på hver verktøylinje.

## SFWidgets.ToolbarButton-tjeneste

Tjenesten ToolbarButton gjør det mulig å hente informasjon relatert til verktøylinjeknappene som er tilgjengelige i en gitt verktøylinje. Med denne tjenesten er det mulig å:

- Veksle på synligheten til verktøylinjeelementer.

- Utfør kommandoen knyttet til en gitt verktøylinjeknapp.

## ScriptForge.UI tjeneste

UI (User Interface)-tjenesten forenkler identifiseringen og manipuleringen av de forskjellige vinduene som utgjør hele LibreOffice-applikasjonen:

- Vindus-valg

- Flytting og endring av størrelse for vinduer

- Statuslinjeinnstillinger

- Visning av en flytende fremdriftslinje

- Oppretting av nye vinduer

- Tilgang til de underliggende "dokumentene"

## SFUnitTests.UnitTest tjeneste

Tjenesten UnitTest gir et rammeverk for å automatisere enhetstester ved å bruke Basic-språket, inkludert muligheten til å:

- Samle testtilfeller i testsuiter og enhetstester.

- Del oppsetts- og avslutningskode blant testtilfeller.

- Rapporter testresultater ved hjelp av konsollen.

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

Merk: Andre ScriptForge ikke beskrevne moduler er reservert for intern bruk. Innholdet deres kan endres uten varsel.

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.

Supporter oss!