Ajuda del LibreOffice 7.1
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.
Els exemples següents obren la consola Traça Access2Base o el diàleg TutorialsDialog utilitzant
# -*- 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)
L'exemple següent obre un nou diàleg Dialog1 en un document utilitzant el menú
# -*- 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.