Выбрать главу

Какое приятное волнение испытываешь, щелкая на маленькой оригинальной кнопке на экране и получая при этом немедленный ответ своего компьютера! Несомненно, существуют и более приятные волнения, но и нажатие кнопки имеет свою прелесть. А если кнопка, на которой вы щелкаете, вызывает созданную лично вами VBA-программу, к этому волнению добавляется еще и небольшое головокружение от успеха.

В некоторых VBA-приложениях назначение кнопок для вызова VBA-программ происходит очень просто, даже если вы создавали программу, не записывая ее в виде макроса. К таким приложениям относятся приложения из Office. В других VBA-приложениях, как в Visio, вам, вероятно, придется самому печатать программный код VBA, который добавит подходящую кнопку.

Ой! А я-то думал, что VBA предлагается в виде визуального средства разработки интерфейса!

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

Если вы никак ничего не можете решить по этому поводу, просто помните, что между кнопкой на панели инструментов и элементом меню больших различий не т - все они реагируют на щелчок мыши. Основное отличие состоит в том. что в меню отображается текст, а на кнопке - картинка. Результат использования обоих элементов будет один и то же.

Приложения Office позволяют использовать приемы drag-and-drop для назначения VBAпрограми-е кнопки на панели инструментов или элемента меню.

В Microsoft Word, Excel, PowerPoint, Access, а также Outlook назначать VBA-программе новую кнопку в панели инструментов очень просто- перетащите с помощью мыши. После того как кнопка займет предназначенное ей место, вы можете создать на этой кнопке еще и подходящий рисунок.

Чтобы в Word создать кнопку для вызова VBA-программы, сделайте следующее.

1. Щелкните правой кнопкой мыши в любой из панелей инструментов.

После этого на экране возникнет контекстное меню.

2. В самом низу этого меню выберите Настройка, чтобы открыть диалоговое окно Настройка с вкладками, в котором будет изначально открыта вкладка Панели инструментов.

Открыть диалоговое окно Настройка можно без выполнения п. 1, выбрав из меню Сервис=Настройка.

3. В диалоговом окне Настройка щелкните на ярлыке вкладки Команды (рис. 4.4).

4. Прокрутите список Категории вниз и найдите пункт Макросы. Щелкните на этом пункте, чтобы выбрать его.

При этом справа, в списке Команды, появятся все имеющиеся в вашем распоряжении VBA -программы. (Диалоговое окно Настройка на рис. 4.4 как раз и показывает макросы.)

5. Найдите необходимый макрос в списке (это может быть и VBA-программа, написанная вами с самого начала).

6. Если вы создаете кнопку, найдите в списке ту программу, которой нужно назначить кнопку. Затем перетащите имя этой программы в подходящую панель инструментов. Если вы создаете команду в меню, найдите в списке ту программу, которой нужно назначить кнопку. Затем перетащите имя этой программы прямо в меню.

Ряс. 4.4. Диалоговое окно Настройка с открытой вкладкой Команды

После того как вы отпустите кнопку мыши, в панели инструментов появится новая кнопка с именем выбранной вами программы на ней.

7. Закройте диалоговое окно Настройка, чтобы завершить работу.

Теперь всякий раз после щелчка на этой новой кнопке вызывается для выполнения ваша VBA-программа. Чудеса!

Создание кнопок в FrontPage и Excel

В FrontPage и Excel вам придется выполнять несколько иные действия для создания кнопок запуска VBA-программ. После записи макроса или написания VBA-программы выполните пп. 1-4 предыдущей инструкции. В результате, вместо списка доступных макросов, вы увидите только два элемента в списке Команды диалогового окна Настройка:

Настраиваемая команда меню и Настраиваемая кнопка (рис. 4.5). Выполните следующее.

Рис. 4.5. Диалоговое окно Настройка в Excel, готовое к созданию новой кнопки или команды меню

1. Перетащите необходимый элемент, Настраиваемая команда меню или Настраиваемая кнопка, на нужное место на панели инструментов или меню.

Когда вы отпустите кнопку мыши, новый элемент появится на панели инструментов или в меню. Если вы создаете кнопку, на ней будет изображена желтая рожица, если вы создаете команду меню, вы увидите только название макроса.

2. Не закрывая диалоговое окно Настройка, щелкните правой кнопкой мыши на новой кнопке меню, чтобы отобразить ее контекстное меню, показанное на рис. 4.6.

Рис. 4. 5. Используйте это меню для назначений VBA-программы кнопке панели задач в Excel или FrontPage

3. Выберите команду Назначить макрос из контекстного меню.

На экране отобразится отдельное диалоговое окно, в котором будут представлены все доступные макросы.

4. Выберите необходимый макрос.

Выбрав макрос, щелкните на кнопке ОК для возвращения к диалоговому окну Настройка, в котором вы сможете выбрать значок для кнопки. Подробности дальше в разделе Выбор или создание подходящего значка для кнопки.

5. Закройте диалоговое окно Настройка.

Access несколько отличается от других приложений Office, когда дело доходит до назначения VBA-программе кнопки на панели задачи или команды меню. Основное отличие состоит в том, что при создании программ для кнопок или команд вы должны использовать процедуры Function, а не процедуры Sub, как в других приложениях Office. В главе 6 вы найдете подробное описание этих двух типов процедур.

После написания процедуры Function, которая должна выполняться после щелчка на кнопке или выбора команды меню, выполните следующее.

1. Начните с выбора команды Сервис=Настройка, после чего перейдите на вкладку Команды (точно так же, как вы это делаете и в других приложениях Office).

Пример диалогового окна Настройка на программы Word был приведен на рис. 4.4.

2. В списке Категории, расположенном в левой части окна, оставьте выбранным вариант Файл.

3. Перетащите первый элемент из списка команд в необходимое место на панели инструментов или в меню (точно так же, как вы это делаете и в других приложениях Office).

4. Перетащив, щелкните правой кнопкой мыши на полученной кнопке или команде, чтобы отобразить контекстное меню.

Подобное контекстное меню было показано раньше на рис. 4.5.

5. Выберите команду Свойства, чтобы отобразить диалоговое окно свойств.

Внешний вид этого диалогового окна уникален для Access.

6. В текстовом поле действия укажите имя VBA-прогряммы (процедуры Function).

Вы должны указать перед именем программы знак равенства, а после него - скобки, как показано ниже.

=Имя_функции ()

7. Закройте диалоговое окно свойств.

Вы можете настроить внешний вид кнопки, применив приемы, описанные дальше в разделе Выбор или создание подходящего значка для кнопки.

Другие VBA-прпложения значительно отличаются по способу создания кнопок на панели инструментов. Например, в Visio вам придется написать VBA-код. выполняющий всю необходимые действия; в то же время в CorelDraw вам необходимо выполнить действия, очень похожие нате, которые вы выполняете в Word, PowerPoint и FrontPage.

1. Начните с выбора команды Tools=Options (Сервис=Параметры).

2. Из списка, расположенного в левой части окна, выберите Commands (Команды).

3. Выберите Macros (Макрос) из раскрывающегося списка в средней части диалогового окна.

Теперь вы можете перетащить на панель задач любой из доступных макросов.

Ясно, что супер широкие кнопки с надписями типа

VBAДляЧайников.ГрафическиеПрограммы.СозданиеИзображения

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

1. Откройте диалоговое окно Настройка и перейдите на вкладку Команды (см. инструкции из раздела Создание кнопок на панели задач в Access, пп. 1-3).

2. Щелкните правой кнопкой мыши на своей новой кнопке в панели инструментов.

Появится весьма многословное контекстное меню.

2. Примерно посередине этого меню есть пункт Выбрать значок для кнопки, выберите его, чтобы открылось графическое меню изображений для кнопок.