I have a ribbon that has a button I want to call using a regular sub routine in a macro.
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
this is the button on addin i want to call:
Sub NeedToCallThis(control As IRibbonControl)
...
end sub
this is my sub routine i want to call/trigger/run the button from:
Sub CallingAddinButton()
...how to call the "NeedToCallThis" ribbon button?
end sub
Assuming that you are not referencing the parameter in the Sub (e.g. using a switch statement on control.ID to have the Sub do different things based on which Control on the Ribbon called it), you can just pass it Nothing, like this:
Sub CallingAddinButton()
NeedToCallThis Nothing
End Sub
(Note: all Properties of IRibbonControl objects are Read Only — so even if you Dim ircTemp AS IRibbonControl to create a new/virtual IRibbonControl, you cannot assign a value to ircTemp.id to pass with NeedToCallThis ircTEMP)