Tjenesten SFDocuments.Base

Tjenesten Base giver et antal metoder og egenskaber, der letter administration og hÄndtering af LibreOffice Base-dokumenter.

Denne tjeneste er nÊrt relateret til tjenesten Document, som giver generiske metoder til at hÄndtere LibreOffice-dokumenter, herunder Base-dokumenter. Derfor udvider tjenesten Base tjenesten Document og giver yderligere metoder, der er specifikke for Base-dokumenter og lader brugerne:

tip

Henvise til tjenesten Document for at fÄ mere at vide om metoder og egenskaber, der kan bruges til at administrere LibreOffice-dokumenter.


Kald af tjeneste

FĂžr brug af tjenesten Base skal biblioteket ScriptForge vĂŠre indlĂŠst eller importeret:

note

‱ Basic-makroer kréver, at biblioteket ScriptForge indléses med fþlgende udtryk:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

‱ Python-scripts kréver import af scriptforge-modulet:
from scriptforge import CreateScriptService


I Basic

Tjenesten Base kan kaldes pÄ forskellige mÄder. Kodestumpen herunder bruger metoden CreateBaseDocument i tjenesten UI til at oprette en ny Base-fil.

BemĂŠrk, at i alle eksempler er objektet oDoc en forekomst af tjenesten Base.


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

TjenestenBase og kan instantieres under Ă„bningen af en eksisterende Base-fil, som vist herunder:


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

Hvis et Base-dokument allerede er Ă„bent, er det muligt at instantiere tjenesten CBase direkte:


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

Eksemplerne ovenfor kan oversÊttes til Python pÄ denne mÄde:


    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

Brugen af delstrengen "SFDocuments." i det foregÄende eksempel er valgfri.


Liste over metoder i tjenesten Base

CloseFormDocument
FormDocuments
Forms

GetDatabase
IsLoaded
OpenFormDocument

PrintOut
SetPrinter


CloseFormDocument

Lukker det givne formulardokument. Returnerer True (sand), hvis lukningen lykkes.

Syntaks:

svc.CloseFormDocument(formdocument: str): bool

Parametre:

formulardokument: Navnet pÄ det FormDocument (formulardokument), der skal lukkes, som en streng med Stort-og-smÄt.

Eksempel:

Hvis formulardokumenter er organiserede i mapper, er det nĂždvendigt at medtage mappenavnet for at angive det formulardokument, der skal Ă„bnes, som vist i de fĂžlgende eksempler:

I Basic

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

    doc.CloseFormDocument('Folder1/myFormDocument')
  

FormDocuments

Returnerer en matrix med det fulde navn (sti/navn) pÄ alle formulardokumenter i Base-dokumentet som en nul-baseret streng-matrix.

Syntaks:

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

Eksempel:

Kodestumpen herunder udskriver navnene pÄ alle formular-dokumenter i det aktuelle Base-dokument.

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 at fÄ mere at vide om formular-dokumenter finder du hjÊlpesiden til tjenesten Form.


Forms

AfhĂŠngig af de givne parametere returnerer denne metode:

Syntaks:

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

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

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

Parametre:

formulardokument: Navnet pÄ et gyldigt formulardokument som en streng med Stort-og-smÄt.

formular: Navnet eller indeksnummeret pÄ formularen, der er gemt i formulardokumentet. Hvis dette argument mangler, returnerer metoden en liste med navne pÄ alle formularer, der er tilgÊngelige i formulardokumentet.

note

Selv om det er muligt at bruge indekstal til at henvise til formularer, anbefales dette kun, nÄr der kun er en formular i formulardokumentet. Hvis der er to eller flere formularer, mÄ det foretrÊkkes at bruge formularnavnet i stedet.


Eksempel:

Den fĂžrste linje i eksemplet herunder returnerer en liste over alle formularer i formulardokumentet "myFormDocument". Den anden linje returnerer et eksemplar af tjenesten Formular, der reprĂŠsenterer formularen "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 forekomdt af tjenesten Database, der pÄ databasen tillader udfÞrelsen af SQL-kommandoer, der er defineret og/eller gemt i det aktuelle Base-dokument

Syntaks:

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

Parametre:

bruger, adgangskode: Valgfrie adgangsparametre som strenge. StandardvĂŠrdien for begge parametre 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")
    ' Bruger og adgangskode anfĂžres herunder, om nĂždvendigt
    Set myDatabase = myDoc.GetDatabase()
    '   ... KĂžr forespĂžrgsler, SQL-sĂŠtninger, ...
    myDatabase.CloseDatabase()
    myDoc.CloseDocument()
  
I Python

    ui = CreateScriptService("UI")
    myDoc = ui.OpenBaseDocument(r"C:\Documents\myDb.odb")
    myDatabase = myDoc.GetDatabase()
    #   ... UdfĂžr forespĂžrgsler, SQL-udtryk, ...
    myDatabase.CloseDatabase()
    myDoc.CloseDocument()
  

IsLoaded

Returner True (sand), hvis det angivne FormDocument aktuelt er Ă„bent.

Syntaks:

svc.IsLoaded(formdocument: str): bool

Parametre:

formulardokument: Navnet pÄ et Formulardokument, der skal tjekkes, som en en streng med Stort-og-smÄt.

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

Åbner det angivne FormDocument i enten normal- eller i design-tilstand.

Hvis formular-dokumentet allerede er Ă„bent, aktiveres det uden at ĂŠndre tilstand. Metoden returnerer True (sand), hvis formulardokumentet kunne Ă„bnes.

Syntaks:

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

Parametre:

Formulardokument: Navnet pÄ det Formulardokument, der skal Äbnes, som en streng med Stort-og-smÄt.

designtilstand: Hvis dette argument er True (sand) Ă„bnes FormDocument i designtilstand.

Eksempel:

I Basic

De fleste formulardokumenter gemmes i roden af Base-dokumentet og de kan Ă„bnes ved simpelthen at bruges deres navne, som i eksemplet herunder:


    oDoc.OpenFormDocument("myFormDocument")
  

Hvis formulardokumenter er organiseret i mapper, bliver det nĂždvendigt at medtage mappenavnet til at angive det formulardokument, der skal Ă„bnes, som illustreret i det fĂžlgende eksempel:


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

    doc.OpenFormDocument("myFormDocument")
  

    doc.OpenFormDocument("myFolder/myFormDocument")
  

PrintOut

Denne metoder sender indholdet af det givne formulardokument til en standardprinter eller en printer, der er defineret med metoden SetPrinter() (sĂŠt_printer).

Returnerer True (sand), hvis dokumentet blev printet med succes.

Syntaks:

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

Parametre:

formulardokument: Et gyldigt dokumentformularnavn som en Stort-og-smÄt streng. Formulardokumentet skal vÊre Äbent. Det aktiveres af metoden.

sider: De sider, der skal printes, som en streng, ligesom i brugerfladen, Eksempel: "1-4;10;15-18". Standard er alle sider.

kopier: Antallet af 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 printerindstillingerne for et formulardokument. Formulardokumentet skal vĂŠre Ă„bent.

Returnerer True (sand), nÄr den lykkes.

Syntaks:

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

Parametre:

formulardokument: Et gyldigt dokumentformularnavn som en streng med Stort-og-smÄt.

printer: Navnet pÄ den printerkÞ, der skal printes til. NÄr den mangler, sÊttes standardprinteren.

papirretning: Enten PORTRAIT (stÄende) eller LANDSCAPE (liggende). NÄr den mangler, efterlades feltet uÊndret med hensyn til printerindstillinger.

papirformat: Angiver papirformatet som en strengvĂŠrdi, som kan vĂŠre enten A3, A4, A5, LETTER, LEGAL eller TABLOID. Efterlades uĂŠndret, hvis manglende.

Eksempel:

I Basic

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

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

Alle ScriptForge Basic-rutiner eller identifikatorer, der er indledet med et understreget tegn "_" er reserveret til internt brug. Det er ikke meningen, at de skal bruges i Basic-makroer eller Python-scripts.


StĂžt os venligst!