1. Выберите Сервис=Макрос=Макросы или нажмите Alt+F8, чтобы открыть диалоговое окно Макрос (см. рис. 2.5).

2. Выберите нужный вам макрос из списка ниже поля Имя.

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

3. Щелкните на кнопке Изменить.

Перед вами немедленно возникнет окно редактора Visual Basic с помещенным в него программным кодом выбранного макроса, готовым для редактирования. Пример показан на рис. 2.6.

Простейшие усовершенствования макросов

В этой главе не предполагается подробно рассматривать приемы редактирования макросов в редакторе Visual Basic. В конце концов, это те же самые приемы, которые используются при создании любых VBA- программ и которые, в основном, обсуждаются в этой книге.

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

Рис.2.6. Запись макроса завершена, и перед вами - его программный код, созданный генератором средства записи макросов

Организуйте повторение команд в макросе. Возможно, вам известно наперед, что придется выполнить целую последовательность команд (или какую-то одну команду) ровно 11 раз. В этом случае все, что вам нужно, - это добавить в свой программный код цикл For. . .Next. Вы спрашиваете, что такое цикл For . . . Next? Это один из элементов языка программирования VBA, обсуждать которые я собираюсь в главе 8.

Организуйте повторение команд в макросе с выяснением количества необходимых повторений непосредственно во время работы макроса. Если вы достаточно амбициозны, добавьте в свой макрос сразу и цикл For. . .Next, и функцию InputBox. Последняя выводит на экран диалоговое окно, предлагающее ответить на некоторый вопрос, в данном случае - о количестве повторений. Использование InputBox обсуждается в главе 11.

Добавьте при вызове возможность выбора текста для использования макросом.

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

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

Добавьте возможность выбора перед запуском макроса. Довольно часто для правильной работы макроса требуется выбрать текстовый, графический или какой-то другой объект. Структура If. . . End If языка VBA позволяет проверить, выбран ли объект подходящего типа, чтобы иметь возможность отменить работу макроса в случае невыполнения каких-либо условий. Все тонкости использования оператора If... End If обсуждаются в главе 8.

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

Глава 3. Основы программирования на VBA.

В этой главе ...

~ Запуск редактора Visual Basic

~ Использование справочной системы VBA

~ Программирование в VBA - краткое и нестрогое руководство

Макросы хороши до определенных пределов, но гораздо больше можно получить от полноценных VBA- программ. Эта глава послужит аварийным введением в рациональное VBA-программирование. После вводного обзора редактора Visual Basic и справочной системы VBA мы с вами на простом примере разберем по шагам процесс построения VBA-программы. Эти знания станут тем солидным базисом, который потребуется для освоения всего остального материала книги.

Вызов редактора Visual Basic

Редактор Visual Basic служит командным центром для работы в VBA. В нем вы должны находиться при разработке VBA-форм, создании VBA-кода, тестировании и отладке VBA программ. Экспертом по использованию редактора Visual Basic вы станете после прочтения главы 5, а пока вам нужно только знать, как вытянуть этот редактор на экран.

Если вы делали кое-что из того, о чем так много говорилось в предыдущей главе при обсуждении программного кода, создаваемого средством записи макросов, вы должны уже знать один из способов вызова редактора Visual Basic- выбор макроса в диалоговом окне

Макрос с последующим щелчком на кнопке Изменить. Но, конечно же, можно запустить редактор Visual Basic и непосредственно. В большинстве VBA-приложений можно воспользоваться одним из следующих методов.

* Выбрать из меню Сервис=Макрос=Редактор Visual Basic.

* Нажать Alt+Fll. Вы услышите, как затараторит жесткий диск, и через несколько мгновений на экране появится редактор Visual Basic. Он должен хотя бы отдаленно напоминать то, что изображено на рис. 3.1.

В некоторых приложениях вам понадобится проделать другой маршрут, чтобы добраться до редактора Visual Basic. Однако вы в любом случае найдете необходимую команду где-нибудь в меню Tools (Сервис).

Вызов редактора Visual Basic одним щелчком

Если в вашем приложении есть кнопка в панели инструментов для вызова редактора Visual Basic. используйте се. В VBА-приложениях из пакета Microsoft Office (Word. Excel и PowerPoint) эта кнопка помещена в панель инструментов Visual Basic (рис. 3.2). Наборы кнопок в этой панели инструментов у разных приложений могут немного отличаться.

Рис. 3.1. Редактор Visual Basic

Рис, 3.2. Вид панели инструментов Visual Basic в приложении Word

Кнопки в этой панели инструментов, как правило, соответствуют пунктам подменю Макрос из меню Сервис. Вот для чего предназначены некоторые из этих кнопок (слева направо, см. рис. 3.2).

* Первые две кнопки предназначены соответственно для выполнения и записи макросов.

* Кнопка справа от кнопки Безопасность вызывает редактор Visual Basic. Если вы часто используете редактор Visual Basic, а другие кнопки в этой панели инструментов вам не нужны, скопируйте кнопку вызова

Вы читаете VBA для чайников
Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

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

Отметить Добавить цитату