自定义功能区(RibbonX)的一些经验
一、什么是Office功能区
从2007版本开始,Office引入了功能区,各种工具或功能被塞入页面上方的条形区域,比之前菜单栏更加易于使用。
从2007版本开始,文档使用了标准化的XML语言,同时,功能区也支持自定义,自定义功能区也是标准化的XML语言。推荐使用软件OfficeRibbonXEditor进行自定义。
PS:感谢Github,感谢作者fernandreu。
二、示例:自定义功能区(RibbonX)
(1)利用OfficeRibbonXEditor建立一个自定义功能区,功能区中包括一个组,组内包括三个按钮,每个按钮绑定一个宏。
在软件中依次插入Office 2010+CustomUI(如Office为2007,需选择2007版本,但容易出现中文乱码的情况),插入XML-Excel示例。
然后点击生成回调,将回调过程代码插入原本的宏工作簿中。
(2)此外,值得注意的是,如果有很多button,则可以将CustomUI代码中每一个button增加Tag属性,同时对onAction属性使用相同内容,这个内容即是回调过程的过程名,这样一来,回调过程就简化成了统一的一段代码(见下),过程代码简化为调用名为botton.Tag的过程。
Sub call_subs(button As IRibbonControl)
Application.Run button.Tag
End Sub
PS:这个方法是之前在网上看到某位大神的写法,但忘记出处了,实属抱歉。
(3)imageMso属性也是个大坑,以后找机会单独出一篇来写。
(4)其他有关CustomUI的用法(语法等),可以参考微软官方技术文档Word, Excel, and PowerPoint Standards Support。另外,CustomUI这玩意往深了挖可能就跟VSTO有点关系了,本人还没开始入坑。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现