Contingut
Índex 🔎︎

# Opening a Dialog with Python

Els diàlegs estàtics de LibreOffice es creen amb L'editor de diàlegs i s'emmagatzemen en llocs variables segons la seua naturalesa, personal (Les meues 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.

## Diàlegs Les meues macros i Macros del LibreOffice

The examples below open Access2Base Trace console or the imported TutorialsDialog dialog with Tools – Macros – Run Macro... 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)

## Document embedded dialogs

L'exemple següent obri un nou diàleg Dialog1 en un document utilitzant el menú Eines - Macros - Executa una macro...

            # -*- coding: utf-8 -*-
            from __future__ import unicode_literals

            def docDialog():
                """ Display a doc-based dialog """
                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,)

Refer to msgbox.py in {installation}/program/ directory for Python dynamic dialog examples.

Temes relacionats

Obertura d'un diàleg amb el Basic

Exemples de programació en Python

Ajuda dels scripts de Python en el LibreOffice