CommandBarButton.Click event (Office)

Occurs when the user clicks a CommandBarButton object.


The use of CommandBars in some Microsoft Office applications has been superseded by the new ribbon component of the Microsoft Office Fluent user interface. For more information, see Overview of the Office Fluent ribbon.


expression.Click(Ctrl, CancelDefault)

expression A variable that represents a CommandBarButton object.


Name Required/Optional Data type Description
Ctrl Required CommandBarButton Represents a CommandBar button.
CancelDefault Required Boolean Is False if the default behavior associated with the CommandBarButton controls occurs, unless it's canceled by another process or add-in.


The Click event is recognized by the CommandBarButton object. To return the Click event for a particular CommandBarButton control, use the WithEvents keyword to declare a variable, and then set the variable to the control.


The following example creates a command bar button on the File menu of the host application that enables the user to save a workbook as a comma-separated value file. (This example works in all applications, but the context of saving as CSV is applicable to Microsoft Excel.)

Private HostApp As Object 
Sub createAndSynch() 
    Dim iIndex As Integer 
    Dim iCount As Integer 
    Dim fBtnExists As Boolean 
    Dim obCmdBtn As Object 
    Dim btnSaveAsCSVHandler as new Class1 
    Set HostApp = Application 
    Dim barHelp As Office.CommandBar 
    Set barHelp = Application.CommandBars("File") 
    fBtnExists = False  
    iCount = barHelp.Controls.Count 
    For iIndex = 1 To iCount 
        If barHelp.Controls(iIndex).Caption = "Save As CSV (Comma Delimited)" Then fBtnExists = True  
    Dim btnSaveAsCSV As Office.CommandBarButton 
    If fBtnExists Then 
        Set btnSaveAsCSV = barHelp.Controls("Save As CSV (Comma Delimited)") 
        Set btnSaveAsCSV = barHelp.Controls.Add(msoControlButton) 
        btnSaveAsCSV.Caption = "Save As CSV (Comma Delimited)" 
    End If 
    btnSaveAsCSV.Tag = "btn1" 
    btnSaveAsCSVHandler.SyncButton btnSaveAsCSV 
End Sub

See also

Support and feedback

Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.