Создал пункты меню в VBA. Именно в панели VBA а не панели Excel'я. Создавал вот так:
В результате получается красивая , но пункты .OnAction - не работают.
Подпрограммы просто не вызываются и ничего не происходит.
На показан момент остановки отладчика и видно, что обработчик присваивается (слева внизу выделено синим).
А почему потом не обрабатывает? не сохраняет, что ли?
При повторном входе в этот (или иной) модуль для Item 12 (со второй картинки) будет уже OnAction="" - почему?
| Код |
|---|
Public Sub Ro_AddMenuVBE() Dim mnuName As String, u As String Dim N As Integer, i As Integer, c As Integer u = "&Moё" N = Application.VBE.CommandBars.Count For i = 1 To N With Application.VBE.CommandBars.Item(i) If .Type = msoBarTypeMenuBar Then For c = 1 To .Controls.Count If .Controls.Item(c).Caption = u Then .Controls(u).Delete Exit For End If Next With .Controls.add(Type:=msoControlPopup) .Caption = u With .Controls.add(Type:=msoControlButton, ID:=107) ' изменил на "латинское" название .OnAction = "a_Bосстановить_Обработку_Событий" .OnAction = "RestoreAlertsEvents" .Caption = "Bосстановить события 2" .TooltipText = "Bосстановить обработку событий" End With With .Controls.add(Type:=msoControlButton, ID:=107) .OnAction = "a_Bыровнить_Код_Активного_Модуля" .Caption = "Bыровнить код" .TooltipText = "Bыровнить код активного модуля" End With With .Controls.add(Type:=msoControlPopup) .Caption = "Работа с проектом" With .Controls.add(Type:=msoControlButton, ID:=107) .OnAction = "a_Cохранить_все_Модули_в_Архив" .Caption = "Cохранение" .TooltipText = "Cохранить все модули в архив" End With ' и т.д., и т.п. End With With .Controls.add(Type:=msoControlButton, ID:=107) .OnAction = "a_Справка_по_Подключаемой_Библиотеке" .Caption = "Справка" .TooltipText = "Справка по Подключаемой Библиотеке" End With End With Exit For End If End With Next End Sub |
Подпрограммы просто не вызываются и ничего не происходит.
На показан момент остановки отладчика и видно, что обработчик присваивается (слева внизу выделено синим).
А почему потом не обрабатывает? не сохраняет, что ли?
При повторном входе в этот (или иной) модуль для Item 12 (со второй картинки) будет уже OnAction="" - почему?
Изменено: - 15.11.2017 13:49:32
(не могу вставить рисунок)