夜雨聆风学习资料网

ARTICLE · 1356145

XML搭建EXCEL顶部工具栏保姆级教程第三期:定位选项卡并复用 内置命令

XML搭建EXCEL顶部工具栏保姆级教程第三期:定位选项卡并复用 内置命令

前言

如果你只是想要快速搭建一个即点即用的EXCEL顶部工具栏,完全可以用杰瑞Ribbon设计器这个免费小工具,不需要理解复杂的XML语法,如下列文章所说:

01 杰瑞Ribbon设计器发布(致敬开发者)

02 杰瑞Ribbon设计器引入 JSA 宏代码

03 杰瑞Ribbon设计器适配 统信等国产系统

设计功能区的底层是XML语法,杰瑞Ribbon设计器是帮大家省去了麻烦。

本系列课程是把XML的语法拆开讲,并且每节课配上一个非常简单的上手实操案例,带着大家一步步入门XML,当然这并不意味着你需要再重走编写XML语法的老路,而是为了更加深刻地理解Ribbon选项卡的工作原理!

上一节课我们讲到这:第2课 调整 Excel 功能区外观和布局

这节课我们继续用 报表工具练习.xlsm,把「报表工具」放到「开始」右边,再在「格式」组里加入 Excel 的「自动换行」。

1. 修改 customUI14.xml

在 Ribbon XML Editor v8.0 按 Ctrl+O 打开工作簿,点选底部右侧的 2010, 2013, 2016, 2019 (customUI14.xml)。

  1. 找到 <tab id="tabReportTools" ...>,在它的起始标签里加上 insertAfterMso="TabHome"。TabHome 是 Excel「开始」选项卡的内置 ID。Excel 会按这个 ID 找到定位目标。
  2. 找到 grpFormatting,在「应用表头样式」按钮的 /> 和该组的 </group> 之间插入 <control idMso="WrapText"/>。Excel 会在这一组里显示内置的「自动换行」控件,点击后由 Excel 执行命令。

对于所有可以用的内置控件,可以在github的OfficeDev仓库查看,大概有近5000个内置的,感兴趣可以自行下载对照

替换XML为本节课的完整 XML,如果工作簿还在上节课的示例状态,也可以直接粘贴这段完整代码。

<?xml version="1.0" encoding="UTF-8"?><customUIxmlns="http://schemas.microsoft.com/office/2009/07/customui"><ribbon><tabs><tabid="tabReportTools"label="报表工具"insertAfterMso="TabHome"><groupid="grpFormatting"label="格式"><buttonid="btnApplyHeaderStyle"label="应用表头样式"imageMso="FormatPainter"size="large"screentip="给选中的单元格套用报表表头样式"/><controlidMso="WrapText"/></group><groupid="grpCheck"label="检查"><boxid="boxCheckButtons"boxStyle="vertical"><buttonid="btnFindBlanks"label="查找空白"imageMso="FindDialogExcel"size="normal"screentip="检查选区中的空白单元格"/><buttonid="btnCheckSpelling"label="拼写检查"imageMso="Spelling"size="normal"screentip="检查工作表中的拼写"/></box></group></tab></tabs></ribbon></customUI>

2. 在 Excel 里验收

  1. 按 F7 校验 → Ctrl+S 保存 → F9 用 Excel 打开。看顶部顺序是否是 开始 → 报表工具。
  1. 在空白工作表的 A1 和 A2 都输入 这是一段用来验证自动换行功能的长文本。把 A 列拖窄,确保文字宽于单元格。
  2. 只选 A1,点 报表工具 → 格式 → 自动换行。观察 A1 是否在单元格内分成多行,再用 A2 对照。保持选中 A1 再点一次,确认能关闭换行。
  3. 选中 A1:A2,再点一次「自动换行」。检查两个单元格是否都换行。若只能看到第一行,可以在「开始 → 格式」中自动调整行高。

用 idMso="WrapText" 的好处是,我们不需要自己编写回调的VBA代码,这些都是内置的EXCEL组件,我们可以直接拿来用,都是已经绑定好对应的EXCEL行为的,我们只负责布局就好。

3. 读懂这几个 ID

写法Excel 如何使用它
id="tabReportTools"
标识你创建的「报表工具」选项卡。
insertAfterMso="TabHome"
用内置的「开始」选项卡作为定位参照。
idMso="WrapText"
引用内置的「自动换行」控件,沿用它的操作。
imageMso="FormatPainter"
给自定义按钮使用格式刷图标。

练习一次定位变化。把 insertAfterMso="TabHome" 临时改成 insertAfterMso="TabInsert",校验、保存并重开工作簿,确认「报表工具」移到「插入」之后。然后改回 TabHome。

验收清单

  • 「报表工具」位于「开始」右边,里面仍能看到「格式」和「检查」。

  • 只选 A1 时,命令作用于 A1。选中 A1:A2 时,两个单元格都能换行。

  • 能说清 TabHome 定位到哪个选项卡,WrapText 引用的是哪个内置控件。

只要上述清单你都能理解到位,那就可以进入下一节课的学习

我是杰瑞,欢迎留个关注,XML的这些事,我会拆开来慢慢讲!

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料