WPS 自定义功能区添加宏(VBA)设定的功能

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="http://schemas.microsoft.com/office/2009/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="http://schemas.openxmlformats.org/package/2006/relationships">
<Relationship Id="image-01" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="images/image01.png"/>
<Relationship Id="image-02" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="images/image02.png"/>
</Relationships>

   3、用压缩软件打开“自定义功能区.xlsm”文件,打开方式里不提示压缩软件的,可以通过“选择其他应用”查找到压缩软件。

 

 在此处添加上一步准备的“mUI”文件夹

 将“_rels”文件夹下的".rels"文件添加如下内容(有的压缩软件不支持编辑,可以拖出编辑文件,后在添加覆盖原文件)

<Relationship Id="mUIRelID" Type="http://schemas.microsoft.com/office/2007/relationships/ui/extensibility" Target="mUI/mUI.xml"/>

 

 此时打开“自定义功能区.xlsm”文件,界面效果已经实现了

 

 但是宏的功能还没有实现。

这里困惑了很长时间,就差一步了。是需要把宏标记为“control As IRibbonControl”,如下:

Sub 标记A1(control As IRibbonControl)
'
' 标记A1 Macro
' 宏由 LiuZW 录制,时间: 2023/04/09
' 功能:将A1单元格标记为黄色
'
    Range("A1").Select
    With Selection.Interior
        .Pattern = xlPatternSolid
        .Color = 65535
        .TintAndShade = 0
        .PatternColorIndex = -4105
    End With
End Sub
Sub 擦除A1(control As IRibbonControl)
'
' 擦除A1 Macro
' 宏由 LiuZW 录制,时间: 2023/04/09
' 功能:将A1单元格标记为无色
'
    Range("A1").Select
    Selection.Interior.Pattern = xlPatternNone
End Sub

此时,两个功能按钮的功能实现了。也就是Button的OnAction属性生效了。

示例文件:自定义功能区.xlsm

  • 7
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值