Storitev SFDocuments.Base

Storitev Base ponuja številne metode in lastnosti, ki lajšajo upravljanje in ravnanje z dokumenti LibreOffice Base.

Ta storitev je tesno povezana s storitvijo Document, ki ponuja splošne metode za ravnanje z dokumenti LibreOffice, vključno z dokumenti programa Base. Zatorej storitev Base razširja storitev Document in ponuja dodatne metode, ki so specifične za dokumente programa Base, saj uporabnikom omogoča:

tip

Preberite si opis storitve Document service, da izveste več o metodah in lastnostih, ki jih lahko uporabite za upravljanje dokumentov LibreOffice.


Priklic storitve

Pred uporabo storitve Base je potrebno naložiti ali uvoziti knjižnico ScriptForge:

note

• Za makre Basic mora biti naložena knjižnica ScriptForge z naslednjim ukazom:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

• Za skripte Python mora biti opravljen uvoz iz modula scriptforge:
from scriptforge import CreateScriptService


V Basicu

Storitev Base lahko prikličete na različne načine. Spodnji odlomek kode uporablja metodo CreateBaseDocument iz storitve UI, da ustvari novo datoteko Base.

Upoštevajte, da je v vseh primerih predmet oDoc instanca storitve Base.


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

Instanco storitve Base lahko tvorite z odpiranjem obstoječe datoteke programa Base, kot je prikazano spodaj:


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

Če je dokument programa Base že odprt, lahko instanco storitve Base tvorite neposredno:


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

Zgornje primere lahko prevedemo v Python na sledeč način:


    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

Uporaba podniza oz. predpone "SFDocuments." v prejšnjem primeru je neobvezna.


Seznam metod v storitvi Base

CloseFormDocument
FormDocuments
Forms

GetDatabase
IsLoaded
OpenFormDocument

PrintOut
SetPrinter


CloseFormDocument

Zapre dani dokument obrazca. Vrne True, če je bilo zapiranje uspešno.

Skladnja:

svc.CloseFormDocument(formdocument: str): bool

Parametri:

formdocument: ime dokumenta obrazca FormDocument, ki ga želite zapreti, razlikuje med velikimi in malimi črkami.

Primer:

Če so dokumenti obrazca organizirani v mapah, je potrebno vključiti ime mape, da določite dokument obrazca, ki ga želite odpreti, kot je to nakazano v naslednjih primerih:

V Basicu

    oDoc.CloseFormDocument("Folder1/myFormDocument")
  
V Pythonu

    doc.CloseFormDocument('Folder1/myFormDocument')
  

FormDocuments

Vrne polje s polnimi imeni (pot/ime) vseh dokumentov obrazcev v dokumentu programa Base kot ničelno polje nizov.

Skladnja:

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

Primer:

Spodnji odlomek kode natisne imena vseh dokumentov obrazca v trenutnem dokumentu programa Base.

V Basicu

    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
  
V Pythonu

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

Če želite izvedeti več o dokumentih obrazca, glejte stran pomoči storitve Form.


Forms

Glede na podane parametre ta metoda vrne:

Skladnja:

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

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

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

Parametri:

formdocument: ime veljavnega dokumenta obrazca, razlikuje med velikimi in malimi črkami.

form: ime ali številka indeksa obrazca, shranjenega v dokumentu obrazca. Če ta argument ni podan, metoda vrne seznam z imeni vseh obrazcev, ki so na voljo v dokumentu obrazca.

note

Čeprav lahko uporabite številke indeksa za sklic na obrazce, je to priporočljivo le, ko je v dokumentu obrazca zgolj en obrazec. Če sta dva ali več obrazcev, priporočamo uporabo imena obrazca.


Primer:

Prva vrstica spodnjega primera vrne seznam vseh obrazcev v dokumentu obrazca »myFormDocument«. Druga vrstica vrne instanco storitve Form, ki predstavlja obrazec »mojObrazec«.

V Basicu

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

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

GetDatabase

Vrne instanco storitve Database, ki ponuja dostop do izvajanja ukazov SQL z zbirko podatkov, ki je določena in/ali shranjena v trenutnem dokumentu programa Base.

Skladnja:

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

Parametri:

user, password: neobvezna parametra prijave kot niza (uporabniško ime in geslo). Privzeta vrednost obeh parametrov je prazen niz »«.

Primer:

V Basicu

    Dim myDoc As Object, myDatabase As Object, ui As Object
    Set ui = CreateScriptService("UI")
    Set myDoc = ui.OpenBaseDocument("C:\Documents\myDb.odb")
    ' Uporabnik in geslo sta navedena spodaj, če jih potrebujete
    Set myDatabase = myDoc.GetDatabase()
    '   ... Izvedite poizvedbe, ukaze SQL ...
    myDatabase.CloseDatabase()
    myDoc.CloseDocument()
  
V Pythonu

    ui = CreateScriptService("UI")
    myDoc = ui.OpenBaseDocument(r"C:\Documents\myDb.odb")
    myDatabase = myDoc.GetDatabase()
    #   ... Izvedite poizvedbe, ukaze SQL ...
    myDatabase.CloseDatabase()
    myDoc.CloseDocument()
  

IsLoaded

Vrne True, če je dani FormDocument trenutno odprt.

Skladnja:

svc.IsLoaded(formdocument: str): bool

Parametri:

formdocument: ime formdocument, ki ga želite preveriti, razlikuje med velikimi in malimi črkami.

Primer:

V Basicu

    If Not oDoc.IsLoaded("myFormDocument") Then
        oDoc.OpenFormDocument("myFormDocument")
    End If
  
V Pythonu

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

OpenFormDocument

Odpre navedeni FormDocument v navadnem ali oblikovalnem načinu.

Če dokument obrazca že odprt, se aktivira brez spremembe svojega načina. Metoda vrne True, če je odpiranje dokumenta obrazca uspelo.

Skladnja:

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

Parametri:

formDocument: ime formDocument, ki ga želite odpreti, razlikuje med velikimi in malimi črkami.

designmode: če ima ta argument vrednost True, bo FormDocument odprt v oblikovalnem načinu.

Primer:

V Basicu

Večina dokumentov obrazcev je shranjenih v korenski mapi dokumenta programa Base in odprete jih lahko enostavno z njihovim imenom, kot v spodnjem primeru:


    oDoc.OpenFormDocument("myFormDocument")
  

Če so dokumenti obrazca organizirani v mapah, je potrebno vključiti ime mape, da določite dokument obrazca, ki ga želite odpreti, kot je to nakazano v naslednjem primeru:


    oDoc.OpenFormDocument("myFolder/myFormDocument")
  
V Pythonu

    doc.OpenFormDocument("myFormDocument")
  

    doc.OpenFormDocument("myFolder/myFormDocument")
  

PrintOut

Ta metoda pošlje vsebino danega dokumenta obrazca privzetemu tiskalniku ali tiskalniku, ki ga določa metoda SetPrinter().

Vrne True, če je bil dokument uspešno natisnjen.

Skladnja:

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

Parametri:

formdocument: ime veljavnega dokumenta obrazca kot niz, razlikuje med velikimi in malimi črkami. Dokument obrazca mora biti odprt. Metoda ga aktivira.

pages: strani, ki jih želite natisniti, kot niz, tako kot v uporabniškem vmesniku. Primer: »1-4;10;15-18«. Privzeta vrednost je tiskanje vseh strani.

copies: število kopij. Privzeto ima vrednost 1.

Primer:

V Basicu

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

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

SetPrinter

Določa možnosti tiskalnika za dokument obrazca. Dokument obrazca mora biti odprt.

Vrne True, če uspe.

Skladnja:

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

Parametri:

formdocument: ime veljavnega dokumenta obrazca, razlikuje med velikimi in malimi črkami.

printer: ime tiskalniške vrste, kamor želite tiskati. Če ta argument manjka, je nastavljen privzeti tiskalnik.

orientation določa postavitev strani in ima dve možni vrednosti: PORTRAIT (pokončno) in LANDSCAPE (ležeče). Če argument ni podan, ostane nespremenjen glede na nastavitve tiskalnika.

paperformat: določa velikost strani oz. papirja kot niz in ima možne vrednosti A3, A4, A5, LETTER, LEGAL ali TABLOID. Če argument ni podan, ostane nespremenjena privzeta vrednost.

Primer:

V Basicu

    oDoc.SetPrinter("myForm", Orientation := "PORTRAIT")
  
V Pythonu

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

Vsi podprogrami ali identifikatorji ScriptForge Basic s predpono podčrtaja (»_«) so rezervirani za interno uporabo. Uporabi v makrih Basic ali skriptih Python niso namenjeni.


Podprite nas!