Isi
Indeks 🔎︎

# 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

Contoh berikut membuka konsol Jejak Access2Base atau dialog Dialog Tutorial yang diimpor dengan menu Perkakas - Makro - Jalankan Makro...:

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

Contoh berikut membuka dialog Dialog1 yang baru saja disunting dari dokumen dengan menu Perkakas - Makro - Jalankan Makro...:

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

Topik Terkait

Membuka Dialog dengan Kode Program

contoh pemrograman Python

Bantuan Skrip Python LibreOffice