Mga SFDocuments . Base serbisyo

Ang Base nagbibigay ang serbisyo ng ilang pamamaraan at katangian upang mapadali ang pamamahala at pangangasiwa ng mga dokumento ng LibreOffice Base.

Ang serbisyong ito ay malapit na nauugnay sa Dokumento serbisyo, na nagbibigay ng mga generic na pamamaraan para sa paghawak ng mga dokumento ng LibreOffice, kasama ang mga Base na dokumento. Samakatuwid, ang Base pinalawak ng serbisyo ang Dokumento serbisyo at nagbibigay ng mga karagdagang pamamaraan na partikular para sa mga Base na dokumento, na nagbibigay-daan sa mga user na:

tip

Sumangguni sa Dokumento serbisyo upang matuto nang higit pa tungkol sa mga pamamaraan at katangian na maaaring magamit upang pamahalaan ang mga dokumento ng LibreOffice.


Panawagan sa serbisyo

Bago gamitin ang Base serbisyo ang ScriptForge kailangang i-load o i-import ang library:

note

• Ang mga pangunahing macro ay kailangang mag-load ScriptForge aklatan gamit ang sumusunod na pahayag:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

• Ang mga script ng Python ay nangangailangan ng pag-import mula sa scriptforge module:
mula sa scriptforge import CreateScriptService


Sa Basic

Ang serbisyo ng Base ay maaaring gamitin sa iba't ibang paraan. Ginagamit ng snippet ng code sa ibaba ang pamamaraan CreateBaseDocument mula sa UI serbisyo upang lumikha ng bagong Base file.

Tandaan na sa lahat ng mga halimbawa ang bagay oDoc ay isang halimbawa ng Base serbisyo.


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

Ang Base ang serbisyo ay maaari ding i-instantiate habang binubuksan ang isang umiiral na Base file, tulad ng ipinapakita sa ibaba:


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

Kung nakabukas na ang isang Base na dokumento, posibleng i-instantiate ang Base direktang serbisyo:


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

Ang mga halimbawa sa itaas ay maaaring isalin sa Python tulad ng sumusunod:


    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

Ang paggamit ng "SFDocuments." Ang substring sa nakaraang halimbawa ay opsyonal.


Listahan ng mga Paraan sa Base Service

CloseFormDocument
FormDocuments
Forms
GetDatabase

IsLoaded
OpenFormDocument
OpenQuery
OpenTable

PrintOut
SetPrinter



CloseFormDocument

Isinasara ang ibinigay na dokumento ng form. Nagbabalik totoo kung matagumpay ang pagsasara.

warning

Ang pamamaraan CloseFormDocument ay hindi na ginagamit mula noong LibreOffice 7.6. Bagama't magagamit pa rin ito, maaari itong alisin sa Base serbisyo sa isang release sa hinaharap. Gamitin ang Isara ang Dokumento pamamaraan mula sa FormDocument serbisyo sa halip.


Syntax:

svc.CloseFormDocument(formdocument: str): bool

Mga Parameter:

formdocument: Ang pangalan ng FormDocument na isasara, bilang isang case-sensitive na string.

Halimbawa:

Kung ang mga dokumento ng form ay nakaayos sa mga folder, kinakailangang isama ang pangalan ng folder upang tukuyin ang dokumento ng form na bubuksan, gaya ng inilalarawan sa mga sumusunod na halimbawa:

Sa Basic

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

    doc.CloseFormDocument('Folder1/myFormDocument')
  

FormDocuments

Nagbabalik ng array na may mga buong pangalan (path/pangalan) ng lahat ng form na dokumento sa Base na dokumento bilang zero-based na Array ng mga string.

Syntax:

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

Halimbawa:

Ang code snippet sa ibaba ay nagpi-print ng mga pangalan ng lahat ng mga dokumento ng form sa kasalukuyang Base na dokumento.

Sa 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
  
Sa Python

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

Upang matuto nang higit pa tungkol sa mga dokumento ng form, sumangguni sa ScriptForge.FormDocument serbisyo pahina ng tulong.


Forms

Depende sa mga parameter na ibinigay, babalik ang pamamaraang ito:

warning

Ang pamamaraan Mga porma ay hindi na ginagamit mula noong LibreOffice 7.6. Bagama't magagamit pa rin ito, maaari itong alisin sa Base serbisyo sa isang release sa hinaharap. Gamitin ang Mga porma pamamaraan mula sa FormDocument serbisyo sa halip.


Syntax:

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

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

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

Mga Parameter:

formdocument: Ang pangalan ng isang wastong dokumento ng form bilang isang case-sensitive na string.

anyo: Ang pangalan o index number ng form na nakaimbak sa dokumento ng form. Kung wala ang argumentong ito, magbabalik ang pamamaraan ng isang listahan na may mga pangalan ng lahat ng mga form na magagamit sa dokumento ng form.

note

Bagama't posibleng gumamit ng mga numero ng index upang sumangguni sa mga form, inirerekomenda lamang ito kapag mayroon lamang isang form sa dokumento ng form. Kung mayroong dalawa o higit pang mga form, mas mainam na gamitin ang pangalan ng form sa halip.


Halimbawa:

Ang unang linya ng halimbawa sa ibaba ay nagbabalik ng isang listahan ng lahat ng mga form sa dokumento ng form na "myFormDocument". Ang pangalawang linya ay nagbabalik ng isang halimbawa ng serbisyo ng Form na kumakatawan sa form na "myForm".

Sa Basic

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

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

GetDatabase

Nagbabalik ng instance ng Database serbisyo na nagpapahintulot sa pagpapatupad ng mga SQL command sa database na tinukoy at/o naka-imbak sa kasalukuyang Base na dokumento

Syntax:

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

Mga Parameter:

user, password: Opsyonal na mga parameter sa pag-log in bilang mga string. Ang default na halaga para sa parehong mga parameter ay isang walang laman na string na "".

Halimbawa:

Sa Basic

    Dim myDoc As Object, myDatabase As Object, ui As Object
    Set ui = CreateScriptService("UI")
    Set myDoc = ui.OpenBaseDocument("C:\Documents\myDb.odb")
    ' Ang user at password ay ibinibigay sa ibaba, kung kinakailangan
    Set myDatabase = myDoc.GetDatabase()
    ' ... Magpatakbo ng mga query, SQL statement, ...
    myDatabase.CloseDatabase()
    myDoc.CloseDocument()
  
Sa Python

    ui = CreateScriptService("UI")
    myDoc = ui.OpenBaseDocument(r"C:\Documents\myDb.odb")
    myDatabase = myDoc.GetDatabase()
    # ... Magpatakbo ng mga query, SQL statement, ...
    myDatabase.CloseDatabase()
    myDoc.CloseDocument()
  

IsLoaded

Nagbabalik totoo kung ang tinukoy FormDocument ay kasalukuyang bukas.

Syntax:

svc.IsLoaded(formdocument: str): bool

Mga Parameter:

formdocument: Ang pangalan ng a FormDocument upang masuri, bilang isang case-sensitive na string.

Halimbawa:

Sa Basic

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

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

OpenFormDocument

Binubuksan ang tinukoy FormDocument alinman sa normal o sa mode ng disenyo. Ang pamamaraang ito ay nagbabalik ng a FormDocument halimbawa ng serbisyo na naaayon sa tinukoy na dokumento ng form.

Kung ang dokumento ng form ay bukas na, ito ay isinaaktibo nang hindi binabago ang mode nito.

Kung ang tinukoy na dokumento ng form ay hindi umiiral, kung gayon wala ay ibinalik.

Syntax:

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

Mga Parameter:

formDocument: Ang pangalan ng FormDocument na bubuksan, bilang isang case-sensitive na string.

designmode: Kung ang argumentong ito ay totoo ang FormDocument ay bubuksan sa mode ng disenyo.

Halimbawa:

Sa Basic

Karamihan sa mga form na dokumento ay naka-imbak sa ugat ng Base na dokumento at mabubuksan ang mga ito gamit ang kanilang mga pangalan, tulad ng sa halimbawa sa ibaba:


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

Kung ang mga dokumento ng form ay nakaayos sa mga folder, kinakailangan na isama ang pangalan ng folder upang tukuyin ang dokumento ng form na bubuksan, gaya ng inilalarawan sa sumusunod na halimbawa:


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

    formDoc = doc.OpenFormDocument("myFormDocument")
  

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

OpenQuery

Binubuksan ang window ng Data View ng tinukoy na query at nagbabalik ng isang instance ng Datasheet serbisyo.

Ang query ay maaaring buksan alinman sa normal o disenyo mode.

Kung bukas na ang query, gagawing aktibo ang window ng Data View nito.

note

Ang pagsasara sa Base na dokumento ay magiging sanhi ng pagsara din ng window ng Data View.


Syntax:

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

Mga Parameter:

queryname : Ang pangalan ng isang umiiral na query bilang isang case-sensitive na String.

mode ng disenyo : Kung ang argumentong ito ay nakatakda sa totoo ang query ay binuksan sa disenyo mode. Kung hindi, ito ay bubuksan sa normal na mode (Default = Mali ).

Halimbawa:

Sa Basic

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

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

OpenTable

Binubuksan ang window ng Data View ng tinukoy na talahanayan at nagbabalik ng isang instance ng Datasheet serbisyo.

Ang talahanayan ay maaaring buksan alinman sa normal o disenyo mode.

Kung nakabukas na ang talahanayan, gagawing aktibo ang window ng Data View nito.

note

Ang pagsasara sa Base na dokumento ay magiging sanhi ng pagsara din ng window ng Data View.


Syntax:

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

Mga Parameter:

tablename : Ang pangalan ng isang umiiral na talahanayan bilang isang case-sensitive na String.

mode ng disenyo : Kung ang argumentong ito ay nakatakda sa totoo ang talahanayan ay binuksan sa mode ng disenyo. Kung hindi, ito ay bubuksan sa normal na mode (Default = Mali ).

Halimbawa:

Sa Basic

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

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

PrintOut

Ang pamamaraang ito ay nagpapadala ng nilalaman ng ibinigay na dokumento ng form sa isang default na printer o isang printer na tinukoy ng SetPrinter() paraan.

Nagbabalik totoo kung matagumpay na nai-print ang dokumento.

warning

Ang pamamaraan Printout ay hindi na ginagamit mula noong LibreOffice 7.6. Bagama't magagamit pa rin ito, maaari itong alisin sa Base serbisyo sa isang release sa hinaharap. Gamitin ang Printout pamamaraan mula sa FormDocument serbisyo sa halip.


Syntax:

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

Mga Parameter:

formdocument : Isang wastong pangalan ng form ng dokumento bilang isang case-sensitive na string. Dapat bukas ang dokumento ng form. Ito ay isinaaktibo sa pamamagitan ng pamamaraan.

mga pahina : Ang mga pahinang ipi-print bilang isang string, tulad ng sa user interface. Halimbawa: "1-4;10;15-18". Default ay lahat ng mga pahina.

mga kopya : Ang bilang ng mga kopya. Ang default ay 1.

Halimbawa:

Sa Basic

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

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

SetPrinter

Tukuyin ang mga opsyon sa printer para sa isang dokumento ng form. Dapat bukas ang dokumento ng form.

Nagbabalik totoo kapag matagumpay.

warning

Ang pamamaraan SetPrinter ay hindi na ginagamit mula noong LibreOffice 7.6. Bagama't magagamit pa rin ito, maaari itong alisin sa Base serbisyo sa isang release sa hinaharap. Gamitin ang SetPrinter pamamaraan mula sa Dokumento serbisyo sa halip.


Syntax:

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

Mga Parameter:

formdocument : Isang wastong pangalan ng form ng dokumento bilang isang case-sensitive na string.

printer : Ang pangalan ng queue ng printer kung saan magpi-print. Kapag wala, nakatakda ang default na printer.

oryentasyon : Alinman LARAWAN o LANDSCAPE . Kapag wala, iniwang hindi nagbabago kaugnay ng mga setting ng printer.

pormat ng papel : Tinutukoy ang format ng papel bilang isang string value na maaaring alinman A3 , A4 , A5 , LIHAM , LEGAL o TABLOID . Hindi nababago kapag wala.

Halimbawa:

Sa Basic

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

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

Lahat ScriptForge Ang mga pangunahing gawain o identifier na may prefix na may underscore na character na "_" ay nakalaan para sa panloob na paggamit. Ang mga ito ay hindi nilalayong gamitin sa Basic macros o Python script.


Mangyaring suportahan kami!