Основы офисного программирования и язык VBA

         

Добавление команд с помощью VBA


Добавить новую команду в меню можно, применив метод Add коллекции CommandBarControls к объекту, представляющему изменяемое меню. Чтобы добавить собственную команду, вставьте ее имя в меню, а затем в качестве значения свойства OnAction задайте имя VBA-процедуры, которая должна вызываться при выборе данной команды. В качестве значения аргумента Type (Тип) метода Add укажите msoControlButton, означающее, что вставляемый в меню элемент будет командой. Добавим команду "Накладная" в выпадающее меню "Ввод документов" из панели "Головное меню". Выбор этой команды запускает процедуру Invoice.

Set CstmCtrl = CstmPopUp1.Controls.Add(Type:=msoControlButton) CstmCtrl.Caption = "Накладная" CstmCtrl.OnAction = "Module1.Invoice"

Метод Add позволяет вставлять в меню и встроенные команды. Для этого при вызове задайте значение параметра Id, равное числовому идентификатору данной команды в Office 2000. Поскольку в Office 2000 количество команд доходит до 4000, мы приведем здесь лишь два фрагмента из начала таблицы идентификаторов, включающих, в частности, некоторые популярные команды из меню File и Edit.

Таблица 11.1. Фрагмент таблицы идентификаторов встроенных команд меню

ИдентификаторИмя командыЛокальное имяИдентификаторИмя командыЛокальное имя
2 &Spelling Орфография19 &Copy Копировать
3 &Save Сохранить21 &Cut Вырезать
4 &Print Печать22 &Paste Вставить
18 &New Создать23 &Open Открыть

Взгляните, как в меню "Проверки" из панели "Головное меню" можно вставить команду проверки правописания Spelling.

Set mySpell = CommandBars("Головное меню").Controls("Проверки") _ .Controls.Add(Id:=2)



Содержание раздела