Mega Code Archive

 
Categories / VisualBasic Script / Application
 

Add a new commandbar

Sub AddNewCB()    Dim myCommandBar As CommandBar, myCommandBarCtl As CommandBarControl    On Error GoTo AddNewCB_Err    Set myCommandBar = CommandBars.Add(Name:="Sample Toolbar", Position:= msoBarFloating)    myCommandBar.Visible = True    Set myCommandBarCtl = myCommandBar.Controls.Add(Type:=msoControlButton)    With myCommandBarCtl       .Caption = "Button"       .Style = msoButtonCaption       .TooltipText = "Display Message Box"       .OnAction = "=MsgBox(""You pressed a toolbar button!"")"    End With    Set myCommandBarCtl = myCommandBar.Controls.Add(Type:=msoControlButton)    With myCommandBarCtl       .FaceId = 1000       .Caption = "Toggle Button"       .TooltipText = "Toggle First Button"       .OnAction = "=ToggleButton()"    End With    Set myCommandBarCtl = myCommandBar.Controls.Add(msoControlComboBox)    With myCommandBarCtl       .Caption = "Drop Down"       .Width = 100       .AddItem "Create Button", 1       .AddItem "Remove Button", 2       .DropDownWidth = 100       .OnAction = "=AddRemoveButton()"    End With    Exit Sub AddNewCB_Err:    Debug.Print Err.number & vbCr & Err.Description    Exit Sub End Sub Function ToggleButton()    Dim CBButton As CommandBarControl    On Error GoTo ToggleButton_Err    Set CBButton = CommandBars("Sample Toolbar").Controls(1)    CBButton.Visible = Not CBButton.Visible    Exit Function     ToggleButton_Err:    Debug.Print Err.number & vbCr & Err.Description    Exit Function End Function Function AddRemoveButton()    Dim myCommandBar As CommandBar, CBCombo As CommandBarComboBox    Dim CBNewButton As CommandBarButton        On Error GoTo AddRemoveButton_Err        Set myCommandBar = CommandBars("Sample Toolbar")    Set CBCombo = myCommandBar.Controls(3)        Select Case CBCombo.ListIndex       Case 1          Set CBNewButton = myCommandBar.Controls.Add(Type:=msoControlButton)          With CBNewButton             .Caption = "New Button"             .Style = msoButtonCaption             .BeginGroup = True             .Tag = "New Button"             .OnAction = "=MsgBox(""This is a new button!"")"          End With       Case 2          Set CBNewButton = myCommandBar.FindControl(Tag:="New Button")          CBNewButton.Delete    End Select    Exit Function AddRemoveButton_Err:    If Err.number = 91 Then       Debug.Print "Cannot remove button that does not exist!"       Exit Function    Else       Debug.Print Err.number & vbCr & Err.Description       Exit Function    End If End Function