SFDocuments.Base service

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

Denne tjenesten er nÊrt knyttet til Dokument-tjenesten, som gir generiske metoder for hÄndtering av LibreOfficeDev-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 LibreOfficeDev-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.

warning

The method CloseFormDocument is deprecated since LibreOfficeDev 7.6. Although it is still available, it may be removed from the Base service in a future release. Use the CloseDocument method from the FormDocument service instead.


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:

warning

The method Forms is deprecated since LibreOfficeDev 7.6. Although it is still available, it may be removed from the Base service in a future release. Use the Forms method from the FormDocument service instead.


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

Opens the specified FormDocument either in normal or in design mode. This method returns a FormDocument service instance corresponding to the specified form document.

If the form document is already open, it is activated without changing its mode.

If the specified form document does not exist, then Nothing is returned.

Syntaks:

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

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:


    Dim oFormDoc As Object
    oFormDoc = 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:


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

    formDoc = doc.OpenFormDocument("myFormDocument")
  

    formDoc = 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.

warning

The method PrintOut is deprecated since LibreOfficeDev 7.6. Although it is still available, it may be removed from the Base service in a future release. Use the PrintOut method from the FormDocument service instead.


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.

warning

The method SetPrinter is deprecated since LibreOfficeDev 7.6. Although it is still available, it may be removed from the Base service in a future release. Use the SetPrinter method from the Document service instead.


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.