在 Excel 编写代码,离不开界面的导航。之前为了简单,经常将控件放置在工作表上。但这种方法显得不专业。Office 其实允许通过代码或者使用 XML 文件的方式来定义功能区。本篇介绍自定义功能区的要点。

xlsx 文档可以视为一种经过压缩的文档格式。我们新建一个 Excel 文档,另存为启用宏的工作簿 (xlsm) 格式(文件名:工作簿1.xlsm),将文件名更名为:工作簿1.xlsm,zip。忽略警告。用 winrar 软件打开可以看到 xlsm 的内部文件结构如下:

在 _rels 文件夹下面的 .res 文件,结构为 xml,打开后可以看到其内容如下:

如果需要自定义功能区,需要做三件事:

创建一个 xml 文件,在其中编写 ribbon 的内容,ribbon 有固定的 schema,可以用模板来编写,或者借助 Visual Studio 这样的工具来编写。假设我们希望定义一个包含三个按钮的功能区,xml 文件的内容应该如下所示: