Abilitare JavaScript nel browser per visualizzare le pagine della Guida di LibreOfficeDev.

Aprire una finestra di dialogo usando Python

Le finestre di dialogo statiche di LibreOfficeDev vengono create con l'editor delle finestre di dialogo e sono memorizzate in varie posizioni a seconda della loro natura personalizzata (Macro personali), condivisa (Macro dell'applicazione) o se incorporate in un documento. Al contrario, le finestre dinamiche vengono costruite al tempo di esecuzione, da script Basic o Python, oppure utilizzando qualsiasi altro linguaggio supportato da LibreOfficeDev utile a tale scopo. L'apertura delle finestre di dialogo statiche utilizzando Python รจ illustrata di seguito. La gestione delle eccezioni e l'internalizzazione sono omesse per questioni di chiarezza.

Macro personali o macro e finestre di dialogo dell'applicazione

Gli esempi sotto riportati aprono la console Access2Base Trace o la finestra di dialogo TutorialsDialog importata col menu Strumenti - Macro - Esegui macro:


        # -*- 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)
    

Finestre di dialogo incorporate nei documenti

L'esempio qui sotto apre una finestra di dialogo Dialog1 modificata di recente da un documento col menu Strumenti - Macro - Esegui macro:


        # -*- coding: utf-8 -*-
        from __future__ import unicode_literals
            
        def docDialog():
            """ Visualizza una finestra di dialogo basata su un documento """
            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,)
    

Si riferisce alla cartella msgbox.py in {installation}/program/ per gli esempi delle finestre di dialogo dinamiche Python.