Contingut
Índex 🔎︎

# Obri un diàleg amb 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)

## Diàlegs incrustats al document

The example below opens a newly edited Dialog1 dialog from a document with Tools - Macros - Run Macro 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.

Temes relacionats

Obertura d'un diàleg amb el Basic

Exemples de programació en Python

Ajuda dels scripts de Python en el LibreOffice