Access 2002

Несколько моментов


В приведенном листинге есть несколько моментов, требующих особого внимания. Во-первых, добавление команды в меню выполняется с помощью пользовательской функции AddMenuConmand. Благодаря этому часть кода обработчика события OnConnection становится и проще, и короче. Во-вторых, команда, добавленная обработчиком события OnConnection, перед выгрузкой надстройки удаляется в обработчике события OnDisconnection. Рассмотрим также объявленную на уровне модуля переменную типа CommandBarButton. Она объявлена с ключевым словом WithEvents, благодаря чему можно обрабатывать ее событие Click.

16.13 приведен код функции AddMenuCommand, определенной в модуле basCommandBars. (На самом деле приведенные  объявления констант взяты из другого модуля, мы же включили их просто для удобства чтения.)

Эта процедура, найдя меню Tools по идентификатору 30007, добавляет в его конец новую команду и устанавливает значения свойств Caption, Style и Tag. Установка значения свойства Tag имеет особый смысл: во-первых, наличие у команды такого идентификатора позволяет гарантировать, что она не будет добавлена в меню повторно, а во-вторых, в дальнейшем по этому значению надстройка найдет команду, чтобы ее удалить.

Отладка, компиляция и распространение

Особенностью отладки надстроек СОМ является то, что они требуют явного выполнения. Если надстройка создана в Microsoft Office ХР Developer COM Add-in Designer, для ее запуска нужно щелкнуть на кнопке панели инструментов Run Project (а не на кнопке Run Sub/Userform, как обычно), а если вы работаете в Visual

Basic, достаточно просто щелкнуть на кнопке Run. Дальше отладка выполняется абсолютно так же, как в обычном проекте VBA. Например, можно поместить в обработчик события OnConnection точку останова, чтобы посмотреть, как выполняется загрузочный код.

Отладив надстройку, можно ее скомпилировать. Для этого в редакторе Visual Basic используется команда File Make.

Комментарии закрыты