如何实现RibbonX功能卡切换的响应事件

本文介绍在Excel编程中,如何利用RibbonX的InvalidateControl方法和getLabel回调函数,来实现在点击不同功能卡时触发自定义的响应事件。通过为每个功能卡设置一个动态Label的button控件,并在回调中加入所需功能,可以达到切换功能卡时执行特定操作的目的。
摘要由CSDN通过智能技术生成

在Excel编程中,有时我们点击Tab功能卡后,希望切换工作表或让Excel有其他的响应,但是Tab没有可用的回调函数,如何实现RibbonX功能卡切换的响应事件呢?经过试验可以通过InvalidateControl 功能区中的某个控件,让它重新getLabel来实现。

多数控件都有getLabel回调函数,而我们自定义的功能卡中一般都会有button控件,这样只要每个功能卡中有一个这类的控件,就其Label设置成动态的getLabel回调实现,然后第个回调中加入需要实现的功能,并InvalidateControl其他功能区的button,那么在点击其他功能区Tab后,被InvalidateControl的控件会立即getLabel,这样就实现了点击每个功能区Tab的响应事件。

附部分代码如下:

'button的回调函数
Sub GetBtnLabel(control As IRibbonControl, ByRef returnedVal)
    Dim label As String
    Select Case control.ID
        Case "btnGznyED"
            label = IIf(PublicProperty.当前工作年月 = "", Format(Date, "yyyy年mm月"), PublicProperty.当前工作年月)
        Case "btnGznyRY"
            label = IIf(PublicProperty.当前工作年月 = "", Format(Date, "yyyy年mm月"), PublicProp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值