LibreOffice 25.8 Súgó
The Base service provides a number of methods and properties to facilitate the management and handling of LibreOffice Base documents.
Ez a szolgáltatás szorosan kapcsolódik a Document szolgáltatáshoz, amely általános módszereket biztosít a LibreOffice dokumentumok kezeléséhez, beleértve a Base dokumentumokat is. Ezért a Base szolgáltatás kibővíti a Document szolgáltatást, és további, a Base dokumentumokra jellemző metódusokat biztosít, lehetővé téve a felhasználók számára, hogy:
Get access to the database contained in a Base document.
Open form documents stored in a Base document.
Check if a form document from a Base document is currently loaded.
Refer to the Document service to learn more about methods and properties that can be used to manage LibreOffice documents.
Before using the Base service the ScriptForge library needs to be loaded or imported:
The Base service can be invoked in a variety of ways. The code snippet below uses the method CreateBaseDocument from the UI service to create a new Base file.
Note that in all examples the object oDoc is an instance of the Base service.
    Dim ui As Object, oDoc As Object
    Set ui = CreateScriptService("UI")
    Set oDoc = ui.CreateBaseDocument("C:\Documents\MyFile.odb")
  The Base service can also be instantiated while opening an existing Base file, as shown below:
    Set oDoc = ui.OpenBaseDocument("C:\Documents\MyFile.odb")
  If a Base document is already open, it is possible to instantiate the Base service directly:
    Dim oDoc As Object
    Set oDoc = CreateScriptService("SFDocuments.Document", "MyFile.odb")
  The examples above can be translated to Python as follows:
    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")
  The use of the "SFDocuments." substring in the previous example is optional.
| List of Methods in the Base Service | ||
|---|---|---|
Closes the given form document. Returns True if closure is successful.
A CloseFormDocument metódus a LibreOffice 7.6 óta elavult. Bár továbbra is elérhető, egy későbbi kiadásban eltávolításra kerülhet a Base szolgáltatásból. Használja helyette a CloseDocument metódust a FormDocument szolgáltatásból.
svc.CloseFormDocument(formdocument: str): bool
formdocument: The name of the FormDocument to be closed, as a case-sensitive string.
If form documents are organized in folders, it is necessary to include the folder name to specify the form document to be opened, as illustrated in the following examples:
    oDoc.CloseFormDocument("Folder1/myFormDocument")
  
    doc.CloseFormDocument('Folder1/myFormDocument')
  Returns an array with the full names (path/name) of all form documents in the Base document as a zero-based Array of strings.
svc.FormDocuments(): str[0..*]
The code snippet below prints the names of all form documents in the current Base document.
    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
  
    bas = CreateScriptService("Basic")
    doc = CreateScriptService("Document", bas.ThisDataBaseDocument)
    myForms = doc.FormDocuments()
    for formName in myForms:
        bas.MsgBox(formName)
  To learn more about form documents, refer to ScriptForge.FormDocument service help page.
Depending on the parameters provided this method will return:
A zero-based Array with the names of all the forms contained in a form document (if the Form argument is absent)
A SFDocuments.Form object representing the form specified in the Form argument.
A Forms metódus a LibreOffice 7.6 óta elavult. Bár továbbra is elérhető, egy későbbi kiadásban eltávolításra kerülhet a Base szolgáltatásból. Használja helyette a Forms metódust a FormDocument szolgáltatásból.
svc.Forms(formdocument: str): str[0..*]
svc.Forms(formdocument: str, form: str = ''): svc
svc.Forms(formdocument: str, form: int): svc
formdocument: The name of a valid form document as a case-sensitive string.
form: Az űrlap-dokumentumban tárolt űrlap neve vagy indexszáma. Ha ez az argumentum hiányzik, a metódus egy listát ad vissza, amely az űrlap-dokumentumban elérhető összes űrlap nevét tartalmazza.
Bár az űrlapokra való hivatkozáshoz indexszámokat is lehet használni, ez csak akkor ajánlott, ha az űrlapdokumentumban csak egy űrlap van. Ha két vagy több űrlap van, akkor inkább az űrlap nevét kell használni.
Az alábbi példa első sora a "myFormDocument" űrlapdokumentumban található összes űrlap listáját adja vissza. A második sor a Form szolgáltatás egy példányát adja vissza, amely az "myForm" űrlapot képviseli.
    Dim formsList as Object : formsList = oDoc.Forms("myFormDocument")
    Dim oForm as Object : oForm = oDoc.Forms("myFormDocument", "myForm")
  
    formsList = doc.Forms("myFormDocument")
    form = doc.Forms("myFormDocument", "myForm")
  Returns an instance of the Database service that allows the execution of SQL commands on the database defined and/or stored in the current Base document
svc.GetDatabase(user: str = '', password: str = ''): svc
user, password: Optional login parameters as strings. The default value for both parameters is an empty string "".
    Dim myDoc As Object, myDatabase As Object, ui As Object
    Set ui = CreateScriptService("UI")
    Set myDoc = ui.OpenBaseDocument("C:\Documents\myDb.odb")
    ' User and password are supplied below, if needed
    Set myDatabase = myDoc.GetDatabase()
    '   ... Run queries, SQL statements, ...
    myDatabase.CloseDatabase()
    myDoc.CloseDocument()
  
    ui = CreateScriptService("UI")
    myDoc = ui.OpenBaseDocument(r"C:\Documents\myDb.odb")
    myDatabase = myDoc.GetDatabase()
    #   ... Run queries, SQL statements, ...
    myDatabase.CloseDatabase()
    myDoc.CloseDocument()
  Returns True if the specified FormDocument is currently open.
svc.IsLoaded(formdocument: str): bool
formdocument: The name of a FormDocument to be checked, as a case-sensitive string.
    If Not oDoc.IsLoaded("myFormDocument") Then
        oDoc.OpenFormDocument("myFormDocument")
    End If
  
    if not doc.IsLoaded("myFormDocument"):
        doc.OpenFormDocument("myFormDocument")
  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.
svc.OpenFormDocument(formdocument: str, designmode: bool = False): svc
formDocument: The name of the FormDocument to be opened, as a case-sensitive string.
designmode: If this argument is True the FormDocument will be opened in design mode.
Most form documents are stored in the root of the Base document and they can be opened simply using their names, as in the example below:
    Dim oFormDoc As Object
    oFormDoc = oDoc.OpenFormDocument("myFormDocument")
  If form documents are organized in folders, it becomes necessary to include the folder name to specify the form document to be opened, as illustrated in the following example:
    oFormDoc = oDoc.OpenFormDocument("myFolder/myFormDocument")
  
    formDoc = doc.OpenFormDocument("myFormDocument")
  
    formDoc = doc.OpenFormDocument("myFolder/myFormDocument")
  Opens the Data View window of the specified query and returns an instance of the Datasheet service.
The query can be opened either in normal or design mode.
If the query is already open, its Data View window will be made active.
Closing the Base document will cause the Data View window to be closed as well.
svc.OpenQuery(queryname: str, designmode: bool = False): obj
queryname: The name of an existing query as a case-sensitive String.
designmode: If this argument is set to True the query is opened in design mode. Otherwise it is opened in normal mode (Default = False).
      oDoc.OpenQuery("MyQuery", DesignMode := True)
    
      doc.OpenQuery("MyQuery", designmode=True)
    Opens the Data View window of the specified table and returns an instance of the Datasheet service.
The table can be opened either in normal or design mode.
If the table is already open, its Data View window will be made active.
Closing the Base document will cause the Data View window to be closed as well.
svc.OpenTable(tablename: str, designmode: bool = False): obj
tablename: The name of an existing table as a case-sensitive String.
designmode: If this argument is set to True the table is opened in design mode. Otherwise it is opened in normal mode (Default = False).
      oDoc.OpenTable("MyTable", DesignMode = False)
    
      doc.OpenTable("MyTable", designmode=False)
    This method sends the content of the given form document to a default printer or a printer defined by the SetPrinter() method.
Returns True if the document was successfully printed.
A PrintOut metódus a LibreOffice 7.6 óta elavult. Bár továbbra is elérhető, egy későbbi kiadásban eltávolításra kerülhet a Base szolgáltatásból. Használja helyette a PrintOut metódust a FormDocument szolgáltatásból.
svc.PrintOut(opt formdocument: str, pages: str = "", copies: num = 1): bool
formdocument: A valid document form name as a case-sensitive string. The form document must be open. It is activated by the method.
pages: The pages to print as a string, like in the user interface. Example: "1-4;10;15-18". Default is all pages.
copies: The number of copies. Default is 1.
    If oDoc.PrintOut("myForm", "1-4;10;15-18", Copies := 2) Then
        ' ...
    End If
  
    if doc.PrintOut('myForm', copies=3, pages='45-88'):
        # ...
  Define the printer options for a form document. The form document must be open.
Returns True when successful.
A SetPrinter metódus a LibreOffice 7.6 óta elavult. Bár továbbra is elérhető, egy későbbi kiadásban eltávolításra kerülhet a Base szolgáltatásból. Használja helyette a SetPrinter metódust a FormDocument szolgáltatásból.
svc.SetPrinter(opt formdocument: str, opt printer: str, opt orientation: str, paperformat: str): bool
formdocument: A valid document form name as a case-sensitive string.
    oDoc.SetPrinter("myForm", Orientation := "PORTRAIT")
  
    doc.SetPrinter('myForm', paperformat='TABLOID')