Ajuda del LibreOffice 7.2
Els diàlegs estàtics de LibreOffice es creen amb L'editor de diàlegs i s'emmagatzemen en llocs variables segons la seva naturalesa, personal (Les meves macros), compartida (les macros de LibreOffice o, incrustades en documents. En ordre invers, els diàlegs dinàmics es construeixen en temps d'execució a partir de scripts Basic o Python, o utilitzant qualsevol altre llenguatge compatible amb LibreOffice amb aquest objectiu. A continuació es mostra l'obertura de diàlegs estàtics amb Python. La gestió i internacionalització de les excepcions s'ometen per claredat.
The examples below open Access2Base Trace console or the imported TutorialsDialog dialog with menu:
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
def consoleDlg():
ctx =XSCRIPTCONTEXT.getComponentContext()
smgr = ctx.getServiceManager()
dp = smgr.createInstanceWithContext("com.sun.star.awt.DialogProvider", ctx)
dlg = dp.createDialog( "vnd.sun.star.script:Access2Base.dlgTrace?location=application")
dlg.execute()
dlg.dispose()
def tutorDialog():
ctx =XSCRIPTCONTEXT.getComponentContext()
smgr = ctx.getServiceManager()
dp = smgr.createInstanceWithContext("com.sun.star.awt.DialogProvider", ctx)
dlg = dp.createDialog("vnd.sun.star.script:Standard.TutorialsDialog?location=application")
dlg.execute()
dlg.dispose()
g_exportedScripts = (consoleDlg, tutorDialog)
The example below opens a newly edited Dialog1 dialog from a document with menu:
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
def docDialog():
"""Mostra un diàleg basat en un document"""
model = XSCRIPTCONTEXT.getDocument()
smgr = XSCRIPTCONTEXT.getComponentContext().ServiceManager
dp = smgr.createInstanceWithArguments( "com.sun.star.awt.DialogProvider", (model,))
dlg = dp.createDialog( "vnd.sun.star.script:Standard.Dialog1?location=document")
dlg.execute()
dlg.dispose()
g_exportedScripts = (docDialog,)
Consulteu msgbox.py al directori {installation}/programa/ per a exemples de diàlegs dinàmics en Python.