ScriptForge-biblioteket

For å bruka denne funksjonen …

Opna Verktøy → Makroar → LibreOffice Basic → Rediger og vel LibreOffice Makroar.


ScriptForge-biblioteker byggjer opp ei samling av makroskriptressursar, som kan utvidast, for LibreOffice som skal startast frå grunnleggjande makroar eller Python-skript.

note

• Basic macros require to load ScriptForge library using the following statement:
GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")

• Python scripts require an import from scriptforge module:
from scriptforge import CreateScriptService


tip

For å læra meir om korleis du kan laga og køyra Python-skript med ScriptForge-biblioteket, les hjelpsida Laga Python-skript med ScriptForge (på engelsk).


Dei omtalte modulane og klassane vert kalla opp frå brukarskriptet som «tenester». Til dette føremålet er det utforma ein generisk konstruktør for desse tenestene for kvart språk:


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

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

Basic-biblioteket for ScriptForge er tilgjengeleg frå LibreOffice 7.1 og nyare.
ScriptForge-modulen for Python er tilgjengeleg frå LibreOffice 7.2 og nyare.


Tenester leverte av biblioteket ScriptForge

Kategori

Tenester

LibreOffice Basic

Array
Dictionary
Exception

FileSystem
String
TextStream

Dokumentinnhald

Base
Calc

Database
Document

Brukargrensesnitt

Dialog
DialogControl
UI

Form
FormControl

Verktøyprogram

Basic
L10N
Platform

Services
Session
Timer


ScriptForge.Array-teneste

Inneheld ei samling metodar for å handsama og transformera matriser av éin dimensjon (vektorar) og matriser med to dimensjonar (matriser). Dette inkluderer å setja operasjonar, sortera, importera til og eksportere frå tekstfiler.

Matyriser med meir enn to dimensjonar kan ikkje brukast med metodane i denne tenesta. Einaste unnataket er metoden CountDims, som godtar matriser med kor mange dimensjonar som helst.

Tenesta SFDocuments.Base

Tenesta Base inneheld ei rad metodar og eigenskapar for å forenkla administreringa og hanfsaminga av LibreOffice Base-dokument.

Denne tenesta er nært knytt til tenesta ;Document, som inneheld generiske metodar for handsaming av LibreOffice-dokument, inkludert Base-dokument. Difor utvidar tenesta Base Document-tenesta og inneheld fleire metodar som er spesifikke for Base-dokument, slik at brukarane kan:

note

Denne tenesta er tilgjengeleg frå LibreOffice 7.2 og høgare.


Tenesta ScriptForge.Basic

Tenesta ScriptForge.Basic tilbyr ei samling av LibreOffice Basic-metodar som kan køyrast i ein Python-samanheng. Tenesta Basic sine metodar reproduserer dei innebygde Basic-funksjonane nøyaktig i høve til syntaks og oppførsel.

note

Denne tenesta er tilgjengeleg frå LibreOffice 7.2 og høgare.


Tjenesten SFDocuments.Calc

Biblioteket SFDocuments gjev mange metodar og eigenskapar som letter styringa og handsaminga av LibreOffice Calc-dokument.

Nokre metodar er felles for alle typar dokument og er nedarva frå tenesta Document, medan andre metodar er spesifikke for modulen SF_Calc.

Modulen SF_Calc er fokusert på:

Tenesta SFDatabases.Database

Tenesta Database gjev tilgang til databasar anten innebygde eller omtalte i Base-dokument. Denne tenesta leverer metodar til:

Tenesta SFDialogs.Dialog

Tenesta Dialog bidreg til handsaminga av dialogar oppretta med Basic lDialog Editor. Kvar førekomst av den nåverande klassen representerer éin dialogboks som vert vist for brukaren.

Tenesta SFDialogs.DialogControl

Tenesta DialogControl handsamar dei kontrollelementa som høyrer til eit dialogvindauge som er definert med Dialog Editor i Basic. Kvar førekomst av den gjeldande tenesta representerer eitt kontrollelement i eit dialogvindauge.

Fokus vert sett på å hente verdiane som vert viste av kontrollelementa i dialogvindauget. Formatering er tilgjengeleg via eigenskapane XControlModel og XControlView.

Merk at innhaldet av den unike eigenskapen DialogControl.Value varierer i høve til type kontrollelement.

Kontrollar av typen trekontroll får spesiell merksemd. Det er enkelt å fylla eit tre, anten forgreina etter grein eller med eit sett med greiner samstundes. Utfylling av ein trekontroll kan gjerast statisk eller dynamisk.

Tenesta ScriptForge.Dictionary

Ei ordliste er ei samling av nøkkelelementpar

Tenesta SFDocuments.Document

Biblioteket SFDocuments gjev metodar og eigenskapar for å letta handsaming og manipulering av LibreOffice-dokument.

Metodar som kan brukast på alle typar av dokument (tekstdokument, rekneark, presentasjonar og så vidare) vert leverte av tenesta SFDocuments.Document. Nokre eksempel er:

Tenesta ScriptForge.Exception

Tenesta Exception (unnatak) er ei samling av metodar som hjelper til med med feilsøking (debugging) av kode i Basic- og Python-skript og feilhandsaming i Basic-skript.

Når det oppstår ein køyretidsfeil i Basic-skript, hjelper metodane og eigenskapane til Exception-tenesta til å identifisere feilsamanhengen og tillata å handsama han.

Tenesta ScriptForge.FileSystem

Tenesta FileSystem inneheld rutinar for handsaming av filer og mapper. Her kjem nokre eksempel på funksjonane som vert leverte av denne tenesta:

SFDocuments.Form service

The Form service provides methods and properties to manage forms in LibreOffice documents. This service supports forms in Base, Calc and Writer documents and allows to:

SFDocuments.FormControl service

The FormControl service provides access to the controls that belong to a form, a subform or a table control of a FormDocument. Each instance of the FormControl service refers to a single control in the form. This service allows users to:

Tenesta ScriptForge.L10N

Denne tenesta inneheld ei rekkje metodar knytt til omsetjinga av strengar med minimal innverknad på kjeldekodane for programmet. Metodane som er leverte av tenesta L10N kan i hovudsak brukast til å:

Tenesta ScriptForge.Platform

Tenesta Platform inneheld ei samling eigenskapar om gjeldande køyringsmiljø og samanheng, for eksempel:

Tenesta ScriptForge.Services

ScriptForge-biblioteket er bygd på ei utvidbar samling av såkalla «Tenester».
Denne samlinga vert lagd til som kategoriar av grunnleggjande bibliotek eller Python-modular:

  1. standard-biblioteket ScriptForge levert med LibreOffice

  2. ein del «tilknytte» bibliotek også levert med LibreOffice

  3. kvar LibreOffice-utviding frå brukar/bidragsytar som helst som ønskjer å passa inn i same rammeverk

ScriptForge.Session service

The Session service gathers various general-purpose methods about:

ScriptForge.String service

The String service provides a collection of methods for string processing. These methods can be used to:

ScriptForge.TextStream service

The TextStream service is used to sequentially read from and write to files opened or created using the ScriptForge.FileSystem service.

The methods OpenTextFile and CreateTextFile from the FileSystem service return an instance of the TextStream service.

Tenesta ScriptForge.Timer

Tenesta Timer måler kor lang tid det tar å køyra brukarskript.

Ein Timer mæler tidlengd. Det kan vera:

Tenesta ScriptForge.UI

T Tenesta UI (User Interface = brukargrensesnitt) gjer identifikasjonen og handsaminga av dei ulike vindauga som heile LibreOffice-programmet er bygd opp av.

Merk: Andre ScriptForge-modular som ikkje er omtalte, er reserverte for internt bruk. Innhaldet i desse kan endrast utan varsel.

warning

Alle Basic-rutinane og -identifikatorane i ScriptForge som vert innleidde med understrek «_» er reserverte for internt bruk. Dei er ikkje tenkt brukte i Basic-makroar.