Офисное программирование
Шрифт:
В диалоговом окне «Настройка» сделайте модифицируемое меню видимым, а затем:
1) на вкладке Команды выберите в списке Категории категорию добавляемой команды – все команды данной категории будут показаны в списке Команды;
2) выберите команду в списке Команды и перетащите ее в то меню или подменю, куда она добавляется. Чтобы выпадающее меню или подменю открылось, показав имеющиеся в нем элементы, протащите команду через заголовок соответствующего выпадающего меню или подменю. Горизонтальная черта отмечает место в списке команд выпадающего меню, куда попадет заголовок
Рис. 123. Добавление встроенных команд
Скопировать команду можно и иначе: выведите на экран меню с нужной командой и перетащите ее в свое меню при нажатой клавише Ctrl.
Добавление собственной команды
Добавление команды с помощью окна «Настройка» в собственное или встроенное меню зависит от приложения Office, в котором оно выполняется:
• Microsoft Excel. Действуя так же, как и при вставке встроенной команды, выберите в списке Категории команду Макрос (Macros) и перетащите элемент Настраиваемая команда меню из списка Команды в меню. Щелкните эту команду правой кнопкой мыши и выберите в появившемся меню команду Назначить макрос. Затем введите в поле Имя имя макроса, который должен запускаться командой меню;
• Microsoft Word и Microsoft PowerPoint. Как при вставке встроенной команды, выберите в списке Категории команду Макросы и перетащите в меню имя нужного макроса из списка Команды (рис. 125, подробнее в главе 2). Для этого предварительно необходимо создать макрос (модуль) с необходимым именем и действием (рис. 124). Результат действия команды показан на рис. 126.
Рис. 124. Создание макроса (модуля) запуска разработанной формы
Рис. 125. Выбор макроса (модуля), открывающего форму
Рис. 126. Добавление собственной команды в разработанную панель и ее запуск
Удаление команды
Для удаления компонента меню надо в диалоговом окне «Настройка» сделать видимым модифицируемое меню, щелкнуть правой кнопкой мыши удаляемый элемент и в появившемся меню выбрать команду Удалить. Чтобы удалить целиком пользовательскую панель меню, нужно перейти на вкладку Панели инструментов диалогового окна «Настройка» и, выбрав в списке Панели инструментов имя удаляемой панели меню, щелкнуть кнопку Удалить.
Восстановление встроенных компонентов меню
Восстановить
В диалоговом окне «Настройка» нужно сделать видимым модифицируемое меню. Затем, щелкнув правой кнопкой мыши заголовок выпадающего меню или подменю, которое нужно восстановить, выберите в появившемся меню команду Сброс.
Чтобы восстановить встроенную панель меню, перейдите на вкладку Панели инструментов окна «Настройка», выберите в списке Панели инструментов имя восстанавливаемой панели меню и щелкните кнопку Сброс.
Новое меню в Excel, Word или PowerPoint обычно создается средствами VBA, поскольку в этих приложениях диалоговое окно «Настройка» не содержит кнопки Свойства. Новое меню создается методом Add коллекции CommandBars (Панели команд):
Выражение. Add(Name, Position, MenuBar, Temporary),
где выражение – обязательное выражение, возвращающее объект CommandBars, а все параметры в скобках необязательны. Name задает имя нового меню;
Position определяет его положение (значения-константы msoBarLeft, msoBarTop, msoBarRight, msoBarButtom определяют положение меню слева, вверху, справа или внизу окна, msoBarFloating задает «плавающее» меню, msoBarPopup указывает, что новое меню будет всплывающим).
Значение True параметра MenuBar указывает на то, что новое меню заменит текущую активную строку меню (по умолчанию – False). Значение True параметра Temporary означает, что новое меню будет временным и исчезнет, когда закроется содержащее его приложение (по умолчанию – False).
В следующем примере создается новое меню «Головное меню»:
Dim CstmBar As CommandBar
Set CstmBar = CommandBars.Add(Name:="Головнoe меню",
Position:=msoBarTop, MenuBar:=True, Temporary:=False)
Добавление выпадающих меню
Чтобы добавить новое меню программно, надо использовать метод Add коллекции CommandBarControls, применив его к объекту типа CommandBar, который представляет панель нашего меню. Данный метод позволяет помещать на панель кнопки (CommandBarButton), комбинированные списки (CommandBarComboBox) и выпадающие меню (ComandBarPopup). Вызов метода имеет вид:
выражение. Add(Type, Id, Parameter, Before, Temporary),
где Выражение должно возвратить объект типа CommandBarsControl.
Параметры в скобках необязательны. Параметр Туре (Тип) задает тип добавляемого объекта. Его значение msoControlPopup указывает, что добавляемый управляющий элемент – выпадающее меню. Для пользовательских меню параметры Id и Parameter можно опустить. Значение аргумента Before – число, указывающее положение нового элемента в последовательности элементов панели: если его нет, элемент помещается в конец. Определить имя и ключ быстрого доступа к созданному меню можно, задав значение свойства Caption.