MicroOffice Excel可以在“自定义功能区”菜单中,可以直接添加“宏”。但是WPS Excel的“自定义功能区”设置菜单不支持“宏”的添加。
想要的效果图是下图样式:自定义功能标签“我的菜单”,并在其下有自定义的功能按钮。
下面记录WPS Excel的实现过程。
1、新建“自定义功能区.xlsx”文件,并录制两个宏依次用来给A1单元格标记黄色和标记无色。并将文件另存为启用宏的xlsm格式,即,“自定义功能区.xlsm”
查看宏代码如下:
2、在电脑上新建 一个文件夹“mUI”,
在mUI内新建两个文件夹“_rels"、"images"和 一个文本文件 “mUI.xml”
mUI.xml 内填入如下内容
<?xml version="1.0" encoding="utf-8"?><customUI xmlns="/office//07/customui"> <ribbon startFromScratch="false"> <tabs><tab id="mUI" label="我的菜单"> <group id="Group1" ><button id="Button1" label="标记" image="image-01" size="large" onAction="标记A1"/> </group><group id="Group2" ><button id="Button2" label="擦除" image="image-02" size="large" onAction="擦除A1"/> </group> </tab> </tabs> </ribbon> </customUI>
将图标图片image01 和 image02 放入images文件夹内。
在"_rels"文件夹中新建文本文档“mUI.xml.rels”,并填入如下内容
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Relationships xmlns="/package//relationships"><Relationship Id="image-01" Type="/officeDocument//relationships/image" Target="images/image01.png"/><Relationship Id="image-02" Type="/officeDocument//relationships/image" Target="images/image02.png"/></Relationships>
3、用压缩软件打开“自定义功能区.xlsm”文件,打开方式里不提示压缩软件的,可以通过“选择其他应用”查找到压缩软件。
在此处添加上一步准备的“mUI”文件夹
将“_rels”文件夹下的".rels"文件添加如下内容(有的压缩软件不支持编辑,可以拖出编辑文件,后在添加覆盖原文件)
<Relationship Id="mUIRelID" Type="/office//relationships/ui/extensibility" Target="mUI/mUI.xml"/>
此时打开“自定义功能区.xlsm”文件,界面效果已经实现了
但是宏的功能还没有实现。
这里困惑了很长时间,就差一步了。是需要把宏标记为“control As IRibbonControl”,如下:
Sub 标记A1(control As IRibbonControl)'' 标记A1 Macro' 宏由 LiuZW 录制,时间: /04/09' 功能:将A1单元格标记为黄色'Range("A1").SelectWith Selection.Interior.Pattern = xlPatternSolid.Color = 65535.TintAndShade = 0.PatternColorIndex = -4105End WithEnd SubSub 擦除A1(control As IRibbonControl)'' 擦除A1 Macro' 宏由 LiuZW 录制,时间: /04/09' 功能:将A1单元格标记为无色'Range("A1").SelectSelection.Interior.Pattern = xlPatternNoneEnd Sub
此时,两个功能按钮的功能实现了。也就是Button的OnAction属性生效了。
示例文件:自定义功能区.xlsm