求LibreOffice 7.3可用的Python MsgBox宏完整运行示例
可用的LibreOffice Calc Python宏示例(弹出消息框)
以下是适配LibreOffice 7.3+、Python 3.10的完整Python宏代码,可绑定到单选按钮点击事件,弹出仅含文本和确定按钮的消息框:
import uno from com.sun.star.awt import MessageBoxType, MessageBoxButtons def ShowSimpleMsg(event): # 获取组件上下文与服务管理器 ctx = uno.getComponentContext() smgr = ctx.getServiceManager() # 获取当前活动文档与窗口 desktop = smgr.createInstanceWithContext("com.sun.star.frame.Desktop", ctx) doc = desktop.getCurrentComponent() frame = doc.getCurrentController().getFrame() parent_window = frame.getContainerWindow() # 创建并显示消息框 msg_factory = parent_window.getMessageBoxFactory() msg_box = msg_factory.createMessageBox( parent_window, MessageBoxType.MESSAGEBOX, MessageBoxButtons.BUTTONS_OK, "提示", "单选按钮点击成功!" ) msg_box.execute()
使用步骤:
- 打开LibreOffice Calc,按下
Alt+F11打开宏编辑器 - 在左侧导航栏找到当前文档,右键选择「Python」→「新建」,粘贴上述代码后保存(宏名称设为
ShowSimpleMsg) - 返回Calc文档,开启「窗体控件」工具栏(视图→工具栏→窗体控件)
- 插入单选按钮,右键点击按钮选择「控件」,切换到「事件」标签页
- 找到「执行动作」项,点击右侧的宏选择按钮,选中刚才创建的
ShowSimpleMsg宏并确认 - 点击单选按钮,即可弹出预期的消息框
注意事项:
- 确保宏安全设置允许执行Python宏:依次打开「工具→选项→LibreOffice→安全性→宏安全性」,临时设置为「中」(测试完成后建议改回默认)
- 宏必须保存在当前文档内部,不要选择全局宏路径,避免上下文引用错误
- 代码中所有组件均使用LibreOffice自带的uno服务,无需额外安装依赖
内容的提问来源于stack exchange,提问作者CJH
相关产品推荐
相关产品推荐

