Propiedad ActionControl
Devuelve el objeto CommandBarControl cuya propiedad OnAction está establecida para que ejecute el procedimiento. Si el procedimiento de ejecución no ha sido iniciado por un control de barra de comandos, esta propiedad devuelve Nothing. Es de sólo lectura.
Ejemplo
Este ejemplo crea una barra de comandos denominada "Custom", agrega tres botones a esa barra y, a continuación, utiliza las propiedades ActionControl y Tag para determinar el último botón de la barra de comandos en el que se hizo clic.
Set myBar = CommandBars _
.Add(Name:="Custom", Position:=msoBarTop, _
Temporary:=True)
Set buttonOne = myBar.Controls.Add(Type:=msoControlButton)
With buttonOne
.FaceId = 133
.Tag = "RightArrow"
.OnAction = "whichButton"
End With
Set buttonTwo = myBar.Controls.Add(Type:=msoControlButton)
With buttonTwo
.FaceId = 134
.Tag = "UpArrow"
.OnAction = "whichButton"
End With
Set buttonThree = myBar.Controls.Add(Type:=msoControlButton)
With buttonThree
.FaceId = 135
.Tag = "DownArrow"
.OnAction = "whichButton"
End With
myBar.Visible = True
La subrutina whichButton
responde al método OnAction y determina el último botón de la barra de comandos en el que se hizo clic.
Sub whichButton()
Select Case CommandBars.ActionControl.Tag
Case "RightArrow"
MsgBox ("Right Arrow button clicked.")
Case "UpArrow"
MsgBox ("Up Arrow button clicked.")
Case "DownArrow"
MsgBox ("Down Arrow button clicked.")
End Select
End Sub