Membuka Dialog dengan Python

Dialog static LibreOffice dibuat dengan Penyunting dialog dan disimpan di berbagai tempat sesuai dengan lokasi personal (Makro-ku), bersama (Makro LibreOffice) atau tertanam dalam dokumen mereka. Sebaliknya, dialog dinamis dibangun pada saat menjalankan, dari skrip Basic atau Python, atau menggunakan Bahasa yang didukung LibreOffice lainnya. Membuka dialog statis dengan Python diilustrasikan sebagai berikut. Penanganan exception dan internasionalisasi dihilangkan demi kejelasan.

Dialog Makro Saya atau Makro 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)
    

Dialog dokumen tertanam

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():
            """ Menampilkan dialog berbasis dokumen """
            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,)
    

Rujuk msgbox.py dalam direktori {installation}/program/ untuk contoh dialog dinamis Python.

Mohon dukung kami!