ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

给 Word 文档加一个自己的选项卡:Office Custom UI Editor 上手指南

给 Word 文档加一个自己的选项卡:Office Custom UI Editor 上手指南 给 Word 文档加一个自己的选项卡Office Custom UI Editor 上手指南【免费下载链接】office-custom-ui-editorStandalone tool to edit custom UI part of Office open document file format项目地址: https://gitcode.com/gh_mirrors/of/office-custom-ui-editorOffice Custom UI Editor 是一个独立的小工具直接打开 Word、Excel 或 PPT 文档编辑藏在文档内部的一段 Custom UI自定义界面XML把新的选项卡、分组和按钮写回文档保存后重新打开就能看到效果。整个过程不需要编译宏也不需要部署插件。打开文档就能改界面这个工具是干什么的Office 的开放文件格式.docx、.xlsx、.pptx本质上是一个 ZIP 包里面有一块叫 Custom UI 的部分用一段 XML 描述用户自定义的功能区界面。这个工具就是针对这一块的专用编辑器打开文档后把 Custom UI 内容加载到带语法高亮的编辑区修改后再保存回文档。编辑区旁的 Validate 按钮会按仓库 Schemas 目录附带的 Office 2007/2010 两套 schema 校验 XML其中 2010 这套一直用到现在的 365 版本编辑过程支持撤销重做。打开一个没有定制过的文档时编辑区是空的定制过的会直接显示已有配置。所以它和写个 VBA 宏、做成模板让同事安装是两条不同的路。定制跟着文档走它替你省掉的事界面定制写进文档本身意味着分享单位就是文档你把文件发给同事他打开看到的就是同一套自定义功能区不需要装任何东西也不存在宏被安全设置禁用的问题。仓库 Samples 目录里放了 5 个现成样例编辑器的 Samples 菜单可以一键加载——新建选项卡、往 Word 插入页插组、Excel 定制选项卡、Backstage 首屏、改写内置命令覆盖了最常见的几种形态。改完点一下 Validateschema 校验不过会直接指出出错的位置不用等到打开文档才发现按钮没出来。下面直接从安装走到看到效果。最短路径从安装到看到新选项卡从零到功能区上多出一个选项卡按下面顺序走一遍就行获取工具git clone https://gitcode.com/gh_mirrors/of/office-custom-ui-editor或直接使用仓库 publish 目录中编译好的 setup.exe 安装。启动编辑器文件 → 打开选择一个已存在的 .docx 文档。在 Samples 菜单里加载 Custom Tab编辑区会填入样例配置tab idcustomTab labelCustom Tab group idcustomGroup labelCustom Group button idcustomButton labelCustom Button imageMsoHappyFace sizelarge onActionCallback / /group /tab点 Validate 确认无错误然后文件 → 保存CtrlS。关闭并重新打开这个 Word 文档功能区里多出一个 Custom Tab里面的大按钮使用 HappyFace 这个内置图标。imageMso 是 Office 自带图标库中的图标名sizelarge 决定按钮用大号规格。跑通这一步之后剩下的事就是把样例换成你要的按钮而配置的词汇量其实不大。读懂配置四个高频元素整个配置的骨架就是选项卡 → 分组 → 按钮三层外加一类对内置命令的改写元素作用常用属性tab选项卡id、label、insertAfterMso插在哪个内置选项卡之后group选项卡内的分组id、label、idMso直接引用内置分组button按钮label、imageMso内置图标名、sizecommand改写内置命令的行为idMso、onAction、enabled自建元素要起唯一的 id显示文字由 label 决定图标由 imageMso 指定。图标名可以在 Office Fluent UI 命令标识符列表里查写错时按钮仍在、只是图标空白拿 Samples 里现成的名字先试最稳妥。不新建选项卡只往现有选项卡里插一组比新建选项卡更常用的是在内置选项卡里加一组按钮。仓库里 Word - Group on Insert Tab 样例把 Document ID 按钮插进内置的插入页关键有两处tab 上用 idMsoTabInsert 指向内置选项卡group 上用 insertAfterMso 指定跟在哪个内置分组后面。tab idMsoTabInsert group idcustomGroup labelContoso insertAfterMsoGroupIllustrations button idcustomButton labelDocument ID sizelarge imageMsoListNumVal onActioninsertDocID / /group /tab选项卡和分组解决了界面放哪同一套 XML 还能管另外两个地方。右键菜单和 Backstage同一套 XML 的另外两处contextMenus 节点让你往内置右键菜单里加按钮用 contextMenu 元素的 idMso 指定目标菜单比如文本的右键菜单内部照旧放 button。Backstage 节点管按 F 打开的开始页可以在第一列里加自定义任务组——仓库的 Custom OutSpace 样例就放了打开、保存、另存为三个任务。这两处的控件写法与功能区一致还是分组加按钮加图标名只是 Backstage 多了一层 firstColumn 布局需要理解。右键菜单对位置比较敏感动手前最好先确认目标菜单的 idMso改完在文档里实际右键测一遍。界面放哪都解决了下一个问题是点下去会发生什么。按钮真正执行动作的两种方式加了按钮不等于按钮能用动作来源只有两条路。第一条是用内置命令控件上写 idMsoOffice 直接执行对应命令的默认行为比如 idMsoBold 就是加粗全程不写一行代码这是非程序员最稳的路线。第二条是自定义回调onAction 指向一个处理者名字点击时如果文档里有同名的 VBA 宏就调用那个宏处理者也可以是 COM 加载项注册的处理器没有同名处理者时按钮点了没反应。仓库的 Repurpose 样例还展示了第三条隐藏用法——不改按钮而是改写内置命令本身commands command idMsoSave onActionMySave / command idMsoBold enabledfalse / /commands上面把内置的保存命令劫持到 MySave 回调相当于把开关的线路改接到了自己的盒子上下面一行则直接禁用加粗。这类改写一般用于团队强制统一保存流程个人使用建议少碰。从一个人到一个小团队配置怎么分享既然定制写在文档里团队做法就是把最终配置固化进一个母版模板新文档从模板创建后天然带着定制功能区。XML 本身也可以单独管理把编辑器里的最终内容复制出来存到共享目录或代码库界面调整只改这一份 XML不用翻文档。同一份 XML 对 Word、Excel、PPT 是通用的schema 相同但内置选项卡和分组的 idMso 名称在各应用间有差异insertAfterMso 这类定位属性要按目标应用核对——仓库里 Word 和 Excel 的两个样例正好是同一思路在两种应用里的对照。动手前先确认这三件事你的 Office 用的是经典功能区这套 XML 适用于 2007 到 365 的经典界面2024 版 Word/Excel 的全新界面不支持它。图标名必须真实存在imageMso 写错时按钮还在、图标空白先抄 Samples 里验证过的名字。带 onAction 的按钮需要对应处理者没有同名宏或加载项时按钮不响应纯 idMso 路线则不受此限制。这个工具的边界很清楚文档级的界面定制改 XML、保存、校验不碰宏环境。先把一个样例跑通再按自己的工作习惯替换按钮和图标。接下来可以做什么在测试文档上跑通 Custom Tab 样例把 label 和 imageMso 换成你最常用的三个命令试 Word - Group on Insert Tab 样例熟悉 idMso 和 insertAfterMso 这两个定位属性需要按钮执行自定义逻辑时为 onAction 写同名 VBA 回调对照仓库 Samples 目录的用法开始【免费下载链接】office-custom-ui-editorStandalone tool to edit custom UI part of Office open document file format项目地址: https://gitcode.com/gh_mirrors/of/office-custom-ui-editor创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表