Методы создания строк меню и включения в них элементов управления можно применить к разработке контекстных меню. Для построения контекстного меню необходимо создать контекстное меню, добавить в него элементы управления и задать момент вывода меню.
Для создания контекстного меню используется метод Add семейства CommandBars. В качестве значения параметра Position при вызове этого метода нужно указать константу msoBarPopup. Метод возвращает ссылку на объект CommandBar. В результате выполнения кода этого метода создается пустая строка меню.
Далее в контекстное меню можно добавить элементы управления любого типа (поле для ввода данных, раскрывающийся список, кнопку, запускающую процесс или задачу, подменю). Элементы управления также добавляются с помощью метода Add, но добавление объектов, представляющих элементы управления осуществляется для семейства Controls элементов управления созданного объекта CommandBar. При вызове метода указывается тип создаваемого и включаемого в меню элемента управления.
Для включенных в контекстное меню элементов управления задаются свойства и действия (макросы), которые должны быть выполнены при активизации элементов.
Таким образом, процедура создания контекстного меню может выглядеть следующим образом:
Public Function СозданиеКонтекстногоМеню() As CommandBar
' Описание объекта для контекстного меню:
DimMyPopUpAs CommandBar
' Описание элементов пункта меню "Формат":
DimcbFormatMenuAs CommandBarPopup
' Описание элементов подменю "Цвет" меню "Формат":
DimcbFormatColorMenuAs CommandBarPopup
DimcbRedAs CommandBarButton
DimcbBlueAs CommandBarButton
DimcbGreenAs CommandBarButton
' Описание пункта "Размер" меню "Формат":
DimcbFormatSizeMenuAs CommandBarComboBox
' Описание элементов пункта меню "Редактирование":