Contingut
Índex 🔎︎

# Obre 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 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.

## Diàlegs Les meves 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