重命名LibreOffice宏子过程后自定义工具栏按钮失效如何解决?
问题原因
你创建工具栏按钮时,绑定的是固定的宏路径+子过程名,修改子过程名后原有绑定的指向失效,因此触发找不到宏的报错。
解决方案
方案1:修改现有按钮的宏绑定(推荐,无需调整工具栏现有布局)
- 依次点击
Tools > Customize > Toolbars,Save in下拉选择你之前保存配置的「LibreOffice Writer」,Toolbar下拉选择你自建的「My own macros」工具栏 - 在「Assigned Commands」列表中选中原来绑定的
Foo项,点击右侧的「Modify」按钮(部分版本可右键点击该命令项),选择「Change Macro」 - 在弹出的宏选择器中,依次展开
My Macros & Dialogs > Standard > Module1,选中重命名后的Bar子过程,点击确认后保存配置即可
方案2:移除旧绑定重新添加
- 进入同上的自定义工具栏页面,选中「Assigned Commands」列表中的
Foo项,点击移除按钮将其删除 - 按照你之前添加宏的步骤,重新将
Bar添加到「Assigned Commands」列表,保存配置即可
避坑提示
如果后续需要频繁修改宏的子过程名、或者调整逻辑,可在模块中保留一个和绑定名称一致的入口过程,只做中转调用,就无需每次修改后调整工具栏绑定:
REM 工具栏固定绑定这个入口过程即可,无需修改 Sub Foo Bar ' 调用实际执行业务逻辑的过程 End Sub REM 实际逻辑可任意修改名称、调整逻辑 Sub Bar MsgBox "hello world" End Sub
内容的提问来源于stack exchange,提问作者john c. j.
相关产品推荐
相关产品推荐

