WPS表格与OFFICE EXCEL 自定义Ribbon功能区教程

WPS Office 教程和使用技巧

WPS表格与OFFICE EXCEL 自定义Ribbon功能区教程

WPS表格与OFFICE EXCEL 自定义Ribbon功能区教程 作者:蜀地老牛 时间:2021.8.15 本教程参考:https://blog.csdn.net/u014695839/article/details/86761584 培培哥的文档,特此感谢! 效果展示 优点: 1.无论微软还是WPS两大表格处理工具都在逐步使用Ribbon界面用替代传统的菜单式用户界面,Ribbon界面可让用户自定义功能区,使用更方便和美观。 2.Ribbon界面自定义到加载宏文档上,用户只需加载宏文档,就自动生成功能区,实现函数功能,方面了加载宏的转移。 1.创建新文件夹并命名为customUI。 图例1-1 2.在customUI文件夹下创建两个新文件夹分别命名为_rels和images,同时创建新文本文档并命名为customUI.xml。 图例1-2 3.在_rels文件夹下创建新文本文档并命名为customUI.xml.rels。 图例1-3 1.准备应用于功能区按键图标的图标素材(支持PNG、JPG、GIF、BMP格式),将需要使用的图标素材放入images文件夹内。 图例2-1 注:图标命名建议用英文字母开头,纯数字可能导致无法识别。 2.用记事本打开customUI.xml.rels文档, 在文档中添加如下内容: 图例2-2 说明:Relationship标签绑定了图标Id和图标的路径,在customUI.xml中button标签的image属性将使用到这个Id。 代码复制区: --------------------------------------------------- <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"> <Relationship Id="1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="images/1.png"/> <Relationship Id="2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="images/2.png"/> <Relationship Id="3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="images/3.png"/> </Relationships> --------------------------------------------------- 注:红框行代码在文档内必须顶行顶格,若前面有空格或空行将无法被识别,并在文档保存时被自动删除。 图例2-2.1 3.用记事本打开customUI.xml文件, 在文件中添加如下内容: 图例2-3 注:所以标签ID都必须是唯一,否则导致无法识别,不能显示自定义功能区。编码要一致,否则会出现乱码。建议选择UTF-8。 说明: (1)tab标签定义了一个选项卡,label属性为功能区选项卡上显示的名称,下面group和button标签的label属性同理; (2)group标签定义了一个组别; (3)splitbutton标签定义了一个分割按钮; (4)menu标签定义了splitbutton标签的菜单; (5)button标签定义了一个按键,image属性值为按键图标的ID(ID与图标路径在customUI/_rels/CustomUI.xml.rels文档内已经绑定),onAction属性的值为点击按键后需要执行的宏的名称; (6)自定义功能区采用通用的 CustomUI 标准进行配置, 该标准定义了一整套标准的控件,比如按钮、下拉菜单、组合框;能够对控件的标签、图标、点击事件等属性进行配置。 代码复制区: --------------------------------------------------- <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"> <ribbon> <tabs> <tab insertAfterMso="TabHome" id="MyTab" label="自定义功能区示例"> <group id="Group1" label="第一组示例"> <button id="Button1" label="功能区按键示例1" image="Image1" size="large" onAction="功能区按键示例1"/> </group> <group id="Group2" label="第二组示例"> <splitButton id="SplitButton1" size="large"> <button id="分割按钮" label="分割按钮" imageMso="Paste"/> <menu id="分割按钮_menu"> <button id="Button2" label="分割按钮示例1" image="Image2" onAction="分割按钮示例1"/> <button id="Button3" label="分割按钮示例2" image="Image3" onAction="分割按钮示例2"/> </menu> </splitButton> </group> </tab> </tabs> </ribbon> </customUI> --------------------------------------------------- 注:1.红框行代码在文档内必须顶行顶格,若前面有空格或空行将无法被识别,导致无法显示自定义功能区。 2.使用<splitButton><menu></menu></splitButton>标签后,<menu>标签内部<button>标签的size属性不能为"large",否则无法显示自定义功能区,建议直接删除该属性。 图例2-3.1 到此处customUI文件夹内的目录树如下: 图例2-3.2 1.用压缩工具打开.xlsx或.xlsm文档,本示例使用360压缩进行打开操作(可将后缀改为.xlsx.zip或.xlsm.zip再打开,修改后再改回)。 注:用WPS创建或者打开保存过的文档无法修改,原因不明。解决方法为用EXCEL创建文档或者打开文档保存一次即可修改。 图例3-1 2.使用记事本打开压缩包内_rels文件夹下的.rels文档,并在</RelationShips>前添加代码。 图例3-2 图例3-2.1 图例3-2.3 代码复制区: --------------------------------------------------- <Relationship Id="mycustomUI" Type="http://schemas.microsoft.com/office/2007/relationships/ui/extensibility" Target="customUI/customUI.xml"/> --------------------------------------------------- 说明:这个标签指定了customUI.xml文档的路径。 图例3-2.4 注:保存文档退出后,压缩工具会弹出提示,点击“确定”按钮即可。 3.复制前面准备好的customUI文件夹到压缩包更目录下。 图例3-3 4.关闭压缩工具(若是后缀改为.xlsx.zip或.xlsm.zip打开的,在此改回.xlsx或.xlsm即可),到此自定义Ribbon功能区的按键和图标过程就基本完成了。 5、用EXCEL打开修改后的.xlsx或.xlsm文档,此步不建议用WPS打开有可能出现未知问题,导致自定义功能区失败。 图例3-5 注:第一次打开修改后的文档,EXCEL会弹出报错提示框,此处点击“是”即可。 图例3-5.1 若不想自定义图标样式,可使用内置图标,自定义过程如下: 1.只需创建一个customUI文件夹; 2.customU文件夹内部创建customUI.xml文档; 3. customUI.xml文档添加代码时image属性改为imageMso; 示例:imageMso="Paste", Paste为内置图标ID 4.自定义过程(三、修改.xlsx或.xlsm文档,绑定customUI。)的方法相同。 EXCEL VBA函数: 1.用office excel打开自定义功能区示例文档,依次点击“开发工具”=》“Visual Basic”打开VBE编辑器。 图例5-1-1 2.插入模块并在模块中添加如下代码: 图例5-1-2 代码复制区: ------------------------------------------------------------------------------- Function 功能区按键示例1(con) MsgBox ("你点击了" & con.ID) End Function Function 分割按钮示例1(con) MsgBox ("你点击了" & con.ID) End Function Function 分割按钮示例2(con) MsgBox ("你点击了" & con.ID) End Function 注:使用VBA时所有onAction属性可以设置为一样。可通过函数判断ID来选择回调的标签。 3.另存文档为启用宏的工作薄(*xlsm),自定义Ribbon功能区全过程完成。 图例5-1-3 WPS表格 JS函数: 1. 用WPS打开自定义功能区示例文档,依次点击“开发工具”=》“WPS宏编辑器”打开JS编辑器。 图例5-2-1 注:WPS11.1以上版本支持JS宏 图例5-2-2 2.在Module1模块中添加如下代码: 代码复制区: --------------------------------------------------- function 功能区按键示例1() { alert("你点击了:功能区按键示例1") } function 分割按钮示例1() { alert("你点击了:分割按钮示例1") } function 分割按钮示例2() { alert("你点击了:分割按钮示例2") } --------------------------------------------------- 注:使用WPS JS宏时onAction属性建议设为唯一值。目前WPS JS无法通过函数判断ID来选择回调的标签。希望WPS官方后期能尽快完善。 3.另存文档为启用宏的工作薄(*xlsm) +关注

WPS表格与OFFICE EXCEL  自定义Ribbon功能区教程