SFDocuments.Basis 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:

tip

Se Dokumenttjeneste for Ă„ lĂŠre mer om metoder og egenskaper som kan brukes til Ă„ administrere LibreOffice-dokumenter.


TjenestepÄkallelse

FÞr du bruker Base-tjenesten, mÄ ScriptForge-biblioteket lastes eller importeres:

note

‱ 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


I Basic

Base-tjenesten kan pÄkalles pÄ en rekke mÄter. Kodebiten nedenfor bruker metoden CreateBaseDocument fra UI-tjenesten for Ä lage en ny Base-fil.

Merk at i alle eksemplene er objektet oDoc en forekomst av Base-tjenesten.


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

Base-tjenesten kan ogsÄ instansieres mens du Äpner en eksisterende Base-fil, som vist nedenfor:


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

Hvis et basisdokument allerede er Äpent, er det mulig Ä instansiere Base-tjenesten direkte:


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

Eksemplene ovenfor kan oversettes til Python som fĂžlger:


    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

Bruken av "SFDocuments." understrengen i forrige eksempel er valgfri.


Liste over metoder i Base tjenesten

CloseFormDocument
FormDocuments
Forms
GetDatabase

IsLoaded
OpenFormDocument
OpenQuery
OpenTable

PrintOut
SetPrinter



CloseFormDocument

Lukker det gitte skjemadokumentet. Returnerer Sann hvis stengingen er vellykket.

Syntaks:

svc.CloseFormDocument(formdocument: str): bool

Parametre:

skjemadokument: Navnet pÄ SkjemaDokument som skal lukkes, som en streng som skiller mellom store og smÄ bokstaver.

Eksempel:

Hvis skjemadokumenter er organisert i mapper, er det nÞdvendig Ä inkludere mappenavnet for Ä spesifisere skjemadokumentet som skal Äpnes, som illustrert i fÞlgende eksempler:

I Basic

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

    doc.CloseFormDocument('Folder1/myFormDocument')
  

FormDocuments

Returnerer en matrise med de fulle navnene (sti/navn) til alle skjemadokumenter i basisdokumentet som en nullbasert matrise med strenger.

Syntaks:

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

Eksempel:

Kodebiten nedenfor skriver ut navnene pÄ alle skjemadokumenter i gjeldende basisdokument.

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ĂŠre mer om skjemadokumenter, se Skjema tjenestehjelpesiden.


Forms

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

Syntaks:

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

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

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

Parametre:

skjemadokument: Navnet pÄ et gyldig skjemadokument som en streng som skiller mellom store og smÄ bokstaver.

skjema: Navnet eller indeksnummeret til skjemaet som er lagret i skjemadokumentet. Hvis dette argumentet er fravÊrende, vil metoden returnere en liste med navnene pÄ alle tilgjengelige skjemaer i skjemadokumentet.

note

Selv om det er mulig Ä bruke indeksnummer for Ä referere til skjemaer, anbefales dette kun nÄr det kun er ett skjema i skjemadokumentet. Hvis det er to eller flere skjemaer, er det Ä foretrekke Ä bruke skjemanavnet i stedet.


Eksempel:

Den fĂžrste linjen i eksemplet nedenfor returnerer en liste over alle skjemaer i skjemadokumentet "myFormDocument". Den andre linjen returnerer en forekomst av skjematjenesten 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 en forekomst av Database-tjenesten som tillater kjÞring av SQL-kommandoer pÄ databasen definert og/eller lagret i gjeldende Base dokument

Syntaks:

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

Parametre:

bruker, passord: Valgfrie pÄloggingsparametere som strenger. Standardverdien for begge parametere er en 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")
    ' Bruker og passord er oppgitt nedenfor, om nĂždvendig
    Set myDatabase = myDoc.GetDatabase()
    ' ... KjĂžr spĂžrringer, SQL-setninger, ...
    myDatabase.CloseDatabase()
    myDoc.CloseDocument()
  
I Python

    ui = CreateScriptService("UI")
    myDoc = ui.OpenBaseDocument(r"C:\Documents\myDb.odb")
    myDatabase = myDoc.GetDatabase()
    # ... KjĂžr spĂžrringer, SQL-setninger, ...
    myDatabase.CloseDatabase()
    myDoc.CloseDocument()
  

IsLoaded

Returnerer Sann hvis det angitte SkjemaDokumentet er Äpent.

Syntaks:

svc.IsLoaded(formdocument: str): bool

Parametre:

skjemadokument: Navnet pÄ et SkjemaDokument som skal sjekkes, som en streng som skiller mellom store og smÄ bokstaver.

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

Åpner det angitte SkjemaDokument enten i normal eller i designmodus.

Hvis skjemadokumentet allerede er Äpent, aktiveres det uten Ä endre modus. Metoden returnerer Sann hvis skjemadokumentet kunne Äpnes.

Syntaks:

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

Parametre:

skjemaDokument: Navnet pÄ SkjemaDokument som skal Äpnes, som en streng som skiller mellom store og smÄ bokstaver.

designmodus: Hvis dette argumentet er Sann vil SkjemaDokument Äpnes i designmodus.

Eksempel:

I Basic

De fleste skjemadokumenter er lagret i roten av Base dokumentet, og de kan Äpnes ganske enkelt ved Ä bruke navnene deres, som i eksemplet nedenfor:


    oDoc.OpenFormDocument("myFormDocument")
  

Hvis skjemadokumenter er organisert i mapper, blir det nÞdvendig Ä inkludere mappenavnet for Ä spesifisere skjemadokumentet som skal Äpnes, som illustrert i fÞlgende eksempel:


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

    doc.OpenFormDocument("myFormDocument")
  

    doc.OpenFormDocument("myFolder/myFormDocument")
  

OpenQuery

Åpner datavisningsvinduet for den angitte spþrringen og returnerer en forekomst av Dataark-tjenesten.

SpÞrringen kan Äpnes enten i normal- eller designmodus.

Hvis spÞrringen allerede er Äpen, vil datavisningsvinduet bli gjort aktivt.

note

Lukking av basisdokumentet vil fÞre til at Datavisnings-vinduet ogsÄ lukkes.


Syntaks:

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

Parametre:

queryname: Navnet pÄ en eksisterende spÞrring som en streng som skiller mellom store og smÄ bokstaver.

designmodus: Hvis dette argumentet er satt til Sann, Äpnes spÞrringen i designmodus. Ellers Äpnes den i normal modus (Standard = Usann).

Eksempel:

I Basic

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

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

OpenTable

Åpner Datavisnings-vinduet i den angitte tabellen og returnerer en forekomst av Dataark-tjenesten.

Bordet kan Äpnes enten i normal- eller designmodus.

Hvis tabellen allerede er Äpen, vil datavisningsvinduet bli gjort aktivt.

note

Lukking av Basic-dokumentet vil fÞre til at Datavisnings-vinduet ogsÄ lukkes.


Syntaks:

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

Parametre:

tabellnavn: Navnet pÄ en eksisterende tabell som en streng som skiller mellom store og smÄ bokstaver.

designmodus: Hvis dette argumentet er satt til Sann, Äpnes tabellen i designmodus. Ellers Äpnes den i normal modus (Standard = usann).

Eksempel:

I Basic

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

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

PrintOut

Denne metoden sender innholdet i det gitte skjemadokumentet til en standardskriver eller en skriver definert av SetPrinter()-metoden.

Returnerer Sann hvis dokumentet ble skrevet ut.

Syntaks:

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

Parametre:

skjemadokument: Et gyldig dokumentskjemanavn som skiller mellom store og smÄ bokstaver. Skjemadokumentet skal vÊre Äpent. Den aktiveres av metoden.

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

kopier: Antall kopier. 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 skriveralternativene for et skjemadokument. Skjemadokumentet skal vÊre Äpent.

Returnerer Sann nÄr det lykkes.

Syntaks:

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

Parametre:

formdocument: Et gyldig dokumentskjemanavn som skiller mellom store og smÄ bokstaver.

skriver: Navnet pÄ skriverkÞen der den skal skrives ut. NÄr den er fravÊrende, angis standardskriveren.

orientering: Enten PORTRETT eller LANDSKAP. NÄr fravÊrende, forblir uendret med hensyn til skriverinnstillingene.

papirformat: Spesifiserer papirformatet som en strengverdi som kan vĂŠre enten A3, A4, A5, LETTER, LEGAL eller TABLOID. Blir uendret hvis ikke spesifisert.

Eksempel:

I Basic

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

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

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.