Организуйте повторение команд в макросе с выяснением количества необходимых повторений непосредственно во время работы макроса. Если вы достаточно амбициозны, добавьте в свой макрос сразу и цикл 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, а другие кнопки в этой панели инструментов вам не нужны, скопируйте кнопку вызова редактора в другую панель. Чтобы скопировать кнопку в любом из приложений Office, перетащите ее на новое место, удерживая при этом нажатой клавишу Alt.
Читать дальше