Skip to main content

CommandBars.ActionControl property

Table of contents
  1. Syntax
  2. Example

Gets the CommandBarControl object whose OnAction property is set to the running procedure. Read-only.

Syntax

expression.ActionControl

expression A variable that represents a CommandBars object.

Example

This example creates a command bar named Custom, adds three buttons to it, and then uses the ActionControl property and the Tag property to determine which command bar button was last clicked.

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

The following subroutine responds to the OnAction method and determines which command bar button was last clicked.

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

Leave a comment

Your email address will not be published. Required fields are marked *

Format your code: <pre><code class="language-vba">place your code here</code></pre>