wps js自定义功能区,把写好的宏命令加在excel的功能区

本文介绍了如何通过CommandBar对象以纯代码的方式在WPSExcel中向功能区添加宏命令,避免了编写XML文件的复杂性。首先,创建xlam加载宏文件并添加到加载项,然后在Workbook_Open事件中编写代码,动态添加自定义按钮并绑定宏函数,实现了自定义图标和按钮文字的功能。
摘要由CSDN通过智能技术生成
前言

每次运行宏的时候都要打开Excel宏文件是很麻烦的事情,虽然可以把宏命令添加到快速访问工具栏,但是不能自定义图标和按钮文字,用起来也不方便。官方推荐用CustomUI标准进行配置,不过写XML文件太麻烦了。这里只考虑用CommandBar对象,以纯代码的方式向功能区添加宏命令。

xlam加载宏文件准备
一、新建一个工作簿,然后另存为xlam文件,把该文件加入到加载项里

添加好后,勾选前面的框框即可启用。xlam文件你可以理解为没有工作表的工作簿

二、打开wps宏编辑器,选择工作簿打开事件:Workbook_Open

打开该工作簿时就会触发Workbook_Open事件,执行相关代码

写好代码后不要忘记保存

相关代码演示效果
一、完整示例代码

Application.CommandBars代表容器应用程序中命令栏的 CommandBar 对象的集合

msoControlButton为MsoControlType 枚举,用于指定命令栏控件的类型。与 CommandBar.Controls 对象的 Add 方法一起使用。通过 CommandBars 对象模型只能创建一组有限的控件类型:msoControlButton、msoControlEdit、msoControlDropdown、msoControlComboBox、msoControlPopup 和 msoControlActiveX

//写好代码后,重启wps Excel即可看到功能区多了一个加载项的选项卡
function Workbook_Open() {
    const arr = [
        {
            btn1: ['拆分工作表数据', 'splitSheet']
            , btn2: ['选项', 'splitSheet_option']
        }, {
            btn1: ['合并Excel文件', 'mergeExcelFile']
            , btn2: ['选项', 'mergeExcelFile_option']
        }
    ]

    //设置功能区
    arr.forEach((obj) => {
        let bar = Application.CommandBars.Add() //添加CommandBar对象
        bar.Visible = true //设置CommandBar对象为可见

        for (let i in obj) {
            let btn = bar.Controls.Add(msoControlButton) //向CommandBar对象添加Button控件
            btn.Caption = obj[i][0]                      //指定Button名称
            btn.OnAction = obj[i][1]                     //指定要执行的函数
        }
    })
}

function splitSheet() {
    alert('拆分工作表数据')
}

function splitSheet_option() {
    alert('拆分工作表数据_选项')
}

function mergeExcelFile() {
    alert('合并Excel文件')
}

function mergeExcelFile_option() {
    alert('合并Excel文件_选项')
}

二、动画演示效果

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Excel效率人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值