При разработке интерфейса Вам может потребоваться погасить или отобразить некоторые кнопки меню. Этот пример показывает, как можно это сделать.
'==============================================================
' Вставить кнопку
Private Sub butInsert_Click()
Dim But As CommandBarButton 'Mso9.dll
On Error GoTo 999
Set But = Application.CommandBars("Мое меню").Controls.Add(msoControlButton)
With But
.BeginGroup = True 'Начинаем размещение с начала группы
.FaceId = 1 'Устанавливаем код кнопки
.Style = msoButtonCaption 'Выбираем стандартный тип
.Caption = "Привет" 'Называем кнопку
.TooltipText = "Мой привет всем!" 'Всплывающая подсказка
.OnAction = "=msgbox(""Привет всем!"")" 'Моя программа
End With
Exit Sub
999:
Err.Clear
End Sub
'==============================================================
' Удалить кнопку
Private Sub butDelete_Click()
On Error GoTo 999
Application.CommandBars("Мое меню").Controls("Привет").Delete
999:
Err.Clear
End Sub