Вызов макросов

Итак, наше приложение готово, но удобно ли им пользоваться? Где та легкость и удобство в работе, заявленные в начале данной главы? Естественно, что конечного пользователя не устроит запуск редактора VBA и выбор команды > Run > Run SubXUserForm.

Одним из удобных средств, помогающих в вызове процедур, являются кнопки на панели инструментов Outlook. В этом разделе мы рассмотрим создание панели пользователя и добавление на нее кнопки, вызывающей процедуру пользователя.

Но прежде всего необходимо создать процедуру, запускающую нашу форму, — диалоговое окно на выполнение. Именно с этой процедуры будет начинаться выполнение нашего приложения.

Пример 22.7. Функция запуска приложения

{В редактор VBE} > Insert > Modules

Name := AssignTask (В редактор VBE} Sub GenerateTask() UserForm.Show End Sub

Теперь все готово к созданию панели и кнопки пользователя.

Пример 22.7.1. Создание панели пользователя

Панель пользователя практически ничем не отличается от панелей инструментов Стандартная и Дополнительно.

Вкладка Панели инструментов диалогового окна Настройка

Рис. 22.11. Вкладка Панели инструментов диалогового окна Настройка

Пример 22.8. Создание панели инструментов

{В окне Outlook}

> Сервис > Настройка...

Панели инсрументов

Создать...

Панель инстрементов := BookTask

ОК

На рис. 22.11 изображено диалоговое окно Настройка и созданная панель Book-Task (маленький квадратик справа). Следующим шагом является добавление кнопок на панель и связывание с кнопкой вызова макроса пользователя.

Добавление кнопки на панель

Для добавления кнопки на панель выполните следующую операцию.

Пример 22.9. Добавление кнопки на панель инструментов

{В диалоговом окне Настройка}

Команды

Катерогии Макросы

Команды BookTask.GenerateTask (рис. 22.12)

Вкладка Команды диалогового окна Настройка

Рис. 22.12. Вкладка Команды диалогового окна Настройка

Теперь необходимо перетащить команду из диалогового окна Настройка на панель BookTask. По умолчанию получаются очень длинные кнопки с текстом, которые выглядят как команды меню, а не как кнопки панели инструментов (рис. 22.13).

Кнопка на панели инструментов с контекстным меню

Рис. 22.13. Кнопка на панели инструментов с контекстным меню

Чтобы панель инструментов приняла привычный для настоящей панели вид, необходимо отформатировать кнопки.

Пример 22.10. Форматирование кнопки пользователя

1R BookTask.GenerateTask

Имя := Назначить задачу писателю

Значок и текст

> Выбрать значок для кнопки > [1,6]

Закрыть

После того как закрыто диалоговое окно Настройка, вы можете перемещать, пристыковывать панель и т. д. Теперь, после щелчка по кнопке Назначить задачу писателю, появится диалоговое окно Задача: Написание книги (рис. 22.14). Неправда ли просто?

Диалоговое окно Задача: Написание книги

Рис. 22.14. Диалоговое окно Задача: Написание книги

Замечание

Помимо создания панелей инструментов и кнопок, можно задавать "горячие" клавиши для вызова макросов пользователей или создавать дополнительные разделы меню.