如何从常规子系统调用/触发功能区控制子系统?

问题描述 投票:0回答:1

我有一个功能区,其中有一个按钮,我想使用宏中的常规子例程来调用。

Public Rib As IRibbonUI
Sub RibbonOnLoad(ribbon As IRibbonUI)
    On Error GoTo this
    Set Rib = ribbon
    
    If Application.Version > 12 Then
        Rib.ActivateTab "tabColtar"
    End If
this:
End Sub

这是我想调用的插件上的按钮:

Sub NeedToCallThis(control As IRibbonControl)
   ...
end sub

这是我的子例程,我想从以下位置调用/触发/运行按钮:

Sub CallingAddinButton()
    ...how to call the "NeedToCallThis" ribbon button?
end sub
excel vba ribbon ribbonx
1个回答
0
投票

假设您没有引用 Sub 中的参数(例如,在

switch
上使用
control.ID
语句让 Sub 根据功能区上的 Control 调用它来执行不同的操作),您可以直接传递它
 Nothing
,像这样:

Sub CallingAddinButton()
    NeedToCallThis Nothing
End Sub

(注意:

IRibbonControl
对象的所有属性都是只读的 - 所以即使您
Dim ircTemp AS IRibbonControl
创建一个新的/虚拟的
IRibbonControl
,您也不能
ircTemp.id
赋值以通过
NeedToCallThis ircTEMP
传递)

© www.soinside.com 2019 - 2024. All rights reserved.