Tenesta SFDocuments.Calc

Tenesta Base inneheld ei rad metodar og eigenskapar for Ă„ forenkla administreringa og hanfsaminga av LibreOfficeDev Base-dokument.

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

tip

SjÄ tenesta Document for Ä lÊra meir om metodane og eigenskapane som kan brukast for Ä administrera LibreOfficeDev-dokument.


Oppkall av tenester

FÞr du brukar tenesta Base mÄ biblioteket ScriptForge vera lasta inn eller importert:

note

‱ Grunnleggjande makroar krev innlasting av biblioteket ScriptForge ved hjelp av denne setninga:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

‱ Python-skript krev import frĂ„ scriptforge-modulen:
from scriptforge import CreateScriptService


I Basic

Tenesta Base kan kallast opp pÄ ulike mÄtar. Kodesnutten nedanfor brukar metoden CreateBaseDocument i tenesta UI til Ä laga ei ny Base-fil.

Merk at i alle eksempla er objektet oDoc ein fĂžrekomst av tenesta Base.


    Dim ui As Object, oDoc As Object
    Set ui = CreateScriptService("UI")
    Set oDoc = ui.CreateBaseDocument("C:\Documents\MyFile.odb")
  

Base-tenesta kan ogsÄ startast medan du opnar ei eksisterande basisfil som vist nedanfor:


    Set oDoc = ui.OpenBaseDocument("C:\Documents\MyFile.odb")
  

Viss eit Base-dokument er opna frÄ fÞr, er det rÄd Ä starta tenesta Base direkte:


    Dim oDoc As Object
    Set oDoc = CreateScriptService("SFDocuments.Document", "MyFile.odb")
  
I Python

Eksempla ovanfor kan omsetjast til Python slik:


    from scriptforge import CreateScriptService
    ui = CreateScriptService("UI")
    doc = ui.CreateBaseDocument(r"C:\Documents\MyFile.odb")
  

    doc = ui.OpenBaseDocument(r"C:\Documents\MyFile.odb")
  

    doc = CreateScriptService("SFDocuments.Document", "MyFile.odb")
  
note

Bruk av delstrengen «SFDocuments.» i det fÞrre eksempelet er valfritt.


Liste over metodar i tenesta Base

CloseFormDocument
FormDocuments
Forms
GetDatabase

IsLoaded
OpenFormDocument
OpenQuery
OpenTable

PrintOut
SetPrinter



CloseFormDocument

Lukkar det gjevne skjemadokumentet. Returnerer Sann viss lukkinga lukkast.

warning

Metoden CloseFormDocument er avvikla sidan LibreOfficeDev 7.6. SjÞlv om han framleis er tilgjengeleg, kan han verta fjerna frÄ Base-tenesta i ei framtidig utgjeving. Bruk CloseDocument-metoden frÄ FormDocument-tenesta i staden.


Syntaks:

svc.CloseFormDocument(formdocument: str): bool

Parametrar:

formdocument: Namnet pÄ FormDocument som skal lukkast som ein streng som skil mellom smÄ og store bokstavar.

Eksempel:

Viss skjemadokumenta er organiserte i mapper, er det nĂždvendig Ă„ ta med mappenamnet for Ă„ spesifisera kva skjemadokument som skal opnast. Dette er vist i dei neste eksempela:

I Basic

    oDoc.CloseFormDocument("Folder1/myFormDocument")
  
I Python

    doc.CloseFormDocument('Folder1/myFormDocument')
  

FormDocuments

Returnerer ei matrise med heile namnet (sti/namn) pÄ alle skjemadokument i Base-dokumentet som ei null-basert matrise av strenger.

Syntaks:

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

Eksempel:

Kodesnutten nedanfor skriv ut namna pÄ alle skjemadokumenta i det gjeldande Base-dokumentet.

I Basic

    Dim oDoc as Object, myForms as Object, formName as String
    Set oDoc = CreateScriptService("Document", ThisDataBaseDocument)
    Set myForms = oDoc.FormDocuments()
    For Each formName In myForms
        MsgBox formName
    Next formName
  
I Python

    bas = CreateScriptService("Basic")
    doc = CreateScriptService("Document", bas.ThisDataBaseDocument)
    myForms = doc.FormDocuments()
    for formName in myForms:
        bas.MsgBox(formName)
  
tip

For Ä lÊra meir om skjema-dokument, sjÄ hjelpesidene til tenesta Form.


Forms

Avhengig av kva parameterar som er gjevne, vil denne metoden returnera:

warning

Metoden Forms er avvikla sidan LibreOfficeDev 7.6. SjÞlv om han framleis er tilgjengeleg, kan han verta fjerna frÄ Base-tenesta i ei framtidig utgjeving. Bruk Forms-metoden frÄ FormDocument-tenesta i staden.


Syntaks:

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

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

svc.Forms(formdocument: str, form: int): svc

Parametrar:

skjemadokument: Namnet pÄ eit gyldig skjemadokument som ein streng som skil mellom store og smÄ bokstavar.

skjema: Namnet eller indeksnummeret pÄ skjemaet som er lagra i skjemadokumentet. Viss dette argument manglar, vil metoden returnera ei liste med namna pÄ alle skjemaa som er tilgjengelege i skjemadokumentet.

note

SjÞlv om det er mogleg Ä bruka indekstal til Ä referere til skjema, vert dette tilrÄdd brukt berre nÄr det er eitt skjema i skjemadokumentet. Viss det er fleire skjema, bÞr du helst bruka skjemanamnet i staden.


Eksempel:

Den fÞrste linja i eksemplet nedanfor returnerer ei liste over alle skjemaa i skjemadokumentet "myFormDocument". Den andre linja returnerer eit eksemplar av tenesta «Form» som representerer skjemaet «myForm».

I Basic

    Dim formsList as Object : formsList = oDoc.Forms("myFormDocument")
    Dim oForm as Object : oForm = oDoc.Forms("myFormDocument", "myForm")
  
I Python

    formsList = doc.Forms("myFormDocument")
    form = doc.Forms("myFormDocument", "myForm")
  

GetDatabase

Returnerer ein fĂžrekomst av tenesta Database som tillet utfĂžringa av SQL-kommandoar som er definerte og/eller lagra i det gjeldande Base-dokumentet.

Syntaks:

svc.GetDatabase(user: str = '', password: str = ''): svc

Parametrar:

brukar, passord: Valfrie pÄloggingsparameterar som strengar. Standardverdien for begge parametera er ein tom streng "".

Eksempel:

I Basic

    Dim myDoc As Object, myDatabase As Object, ui As Object
    Set ui = CreateScriptService("UI")
    Set myDoc = ui.OpenBaseDocument("C:\Documents\myDb.odb")
    ' Brukar og passord vert sett inn nedanfor om nĂždvendig
    Set myDatabase = myDoc.GetDatabase()
    '   
 Kþyr spþrjingar, SQL-uttrykk, 

    myDatabase.CloseDatabase()
    myDoc.CloseDocument()
  
I Python

    ui = CreateScriptService("UI")
    myDoc = ui.OpenBaseDocument(r"C:\Documents\myDb.odb")
    myDatabase = myDoc.GetDatabase()
    #   
 Kþyr spþrjingar, SQL-uttrykk, 

    myDatabase.CloseDatabase()
    myDoc.CloseDocument()
  

IsLoaded

Returner True (sann) viss det spesifiserte FormDocument er ope.

Syntaks:

svc.IsLoaded(formdocument: str): bool

Parametrar:

skjemadokument: Namnet pÄ eit Skjemadokument som skal kontrollerast om det inneheld ein streng som skil mellom smÄ og store bokstavar.

Eksempel:

I Basic

    If Not oDoc.IsLoaded("myFormDocument") Then
        oDoc.OpenFormDocument("myFormDocument")
    End If
  
I Python

    if not doc.IsLoaded("myFormDocument"):
        doc.OpenFormDocument("myFormDocument")
  

OpenFormDocument

Opnar det spesifiserte FormDocument anten i normalmodus eller i utformingsmodus. Denne metoden returnerer ei FormDocument-teneste som svarar til det gjevne skjemadokumentet.

Viss skjemadokumentet alt er ope, vert det aktivert utan Ă„ endra modus.

Viss det spesifiserte skjemadokumentet ikkje finst, vert det returrnert Ingenting.

Syntaks:

svc.OpenFormDocument(formdocument: str, designmode: bool = False): svc

Parametrar:

skjemadokument: Namnet pÄ eit Skjemadokument skal opnast som ein streng som skil mellom smÄ og store bokstavar.

utformingsmodus: Viss dette argument er Sann vert FormDocument opna i utformingsmodus-

Eksempel:

I Basic

Dei fleste skjemadokumenta er lagra i rota til Base-dokumentet og kan opanast ved Ă„ bruka namnet, som i eksempelet nedanfor:


    Dim oFormDoc As Object
    oFormDoc = oDoc.OpenFormDocument("myFormDocument")
  

Viss skjemadokumenta er organiserte i mapper, er det nĂždvendig Ă„ ta med mappenamnet for Ă„ spesifisera kva skjemadokument som skal opnast. Dette er vist i det neste eksempelet:


    oFormDoc = oDoc.OpenFormDocument("myFolder/myFormDocument")
  
I Python

    formDoc = doc.OpenFormDocument("myFormDocument")
  

    formDoc = doc.OpenFormDocument("myFolder/myFormDocument")
  

OpenQuery

Opnar datavisingsvindauget for den spesifiserte spĂžrjinga og returnerer ein fĂžrekomst av tenesta Datasheet.

SpĂžrjinga kan opnast anten i normal- eller utformingsmodus.

Viss spĂžrjinga alt er open, vert datavisingsvindauget gjort aktivt.

note

Lukking av Base-dokumentet gjer at datavisingsvindauget ogsÄ vert lukka.


Syntaks:

svc.OpenQuery(queryname: str, designmode: bool = False): obj

Parametrar:

queryname: Namnet pÄ ei eksisterande spÞrjing som ein streng som skil mellom store og smÄ bokstavar.

designmode: Viss dette argumentet er sett til Sann, vert spĂžrjinga opna i utforminghsmodus, elles i normalmodus (Standard = Usann).

Eksempel:

I Basic

      oDoc.OpenQuery("MyQuery", DesignMode := True)
    
I Python

      doc.OpenQuery("MyQuery", designmode=True)
    

OpenTable

Opnar datavisingsvindauget for den spesifiserte tabellen og returnerer ein fĂžrekomst av tenesta Datasheet.

Tabellen kan opnast anten i normal- eller utformingsmodus.

Viss tabellen alt er open, vert datavisingsvindauget gjort aktivt.

note

Lukking av Base-dokumentet gjer at datavisingsvindauget ogsÄ vert lukka.


Syntaks:

svc.OpenTable(tablename: str, designmode: bool = False): obj

Parametrar:

tablename: Namnet pÄ ein eksisterande tabell som ein streng som skil mellom store og smÄ bokstavar.

designmode: Viss dette argumentet er sett til Sann, vert tabellen opna i utforminghsmodus, elles i normalmodus (Standard = Usann).

Eksempel:

I Basic

      oDoc.OpenTable("MyTable", DesignMode = False)
    
I Python

      doc.OpenTable("MyTable", designmode=False)
    

PrintOut

Denne metoden sender innhaldet i det gjevne skjemadokumentet til standardskrivaren eller til den skrivaren som er definert med metoden SetPrinter().

Returnerer Sann viss utskrivinga av dokumentet lukkast.

warning

Metoden PrintOut er avvikla sidan LibreOfficeDev 7.6. SjÞlv om han framleis er tilgjengeleg, kan han verta fjerna frÄ Base-tenesta i ei framtidig utgjeving. Bruk PrintOut-metoden frÄ FormDocument-tenesta i staden.


Syntaks:

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

Parametrar:

formdocument: Eit gyldig dokumentskjemanamn som skil mellom store og smÄ bokstavar. Skjemadokumentet mÄ vera ope. Det vert slÄtt pÄ av metoden.

pages: Sidene som skal skrivast ut som ein streng, som i brukargrensesnittet. Eksempel: «1-4;10;15-18». Standard er alle sidene.

copies: Kor mange kopiar. Standard er 1.

Eksempel:

I Basic

    If oDoc.PrintOut("myForm", "1-4;10;15-18", Copies := 2) Then
        ' ...
    End If
  
I Python

    if doc.PrintOut('myForm', copies=3, pages='45-88'):
        # ...
  

SetPrinter

Definer skrivarinnstillingane for eit skjemadokument. Skjemadokumentet mÄr vera ope.

Returnerer Sann nÄr han lukkast.

warning

Metoden SetPrinter er avvikla sidan LibreOfficeDev 7.6. SjÞlv om han framleis er tilgjengeleg, kan han verta fjerna frÄ Base-tenesta i ei framtidig utgjeving. Bruk SetPrinter-metoden frÄ Document-tenesta i staden.


Syntaks:

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

Parametrar:

formdocument: Eit gyldig dokumentskjemanamn som skil mellom store og smÄ bokstavar.

printer: Namnet pÄ utskriftskÞen det skal skrivast til. NÄr denne manglar, vert standardskrivaren sett.

papirretning: Anten PORTRAIT (stÄande) eller LANDSCAPE (liggjande). NÄr denne manglar vert feltet ikkje endra i hÞve til skrivarinnstillingane.

papirformat: Spesifiserer papirformatet som ein strengverdi som kan vera anten A3, A4, A5, LETTER, LEGAL eller TABLOID. Vert ikkje endra om denne manglar.

Eksempel:

I Basic

    oDoc.SetPrinter("myForm", Orientation := "PORTRAIT")
  
I Python

    doc.SetPrinter('myForm', paperformat='TABLOID')
  
warning

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