Чтение онлайн

на главную - закладки

Жанры

VBA для чайников

Каммингс Стив

Шрифт:

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

Кнопка, кнопка, ты чья?

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

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

Если приложение позволяет такой трюк, вы увидите в диалоговом окне Запись макроса соответствующее поле. Так, в Excel в диалоговом окне Запись макроса есть поле Сочетание клавиш, где вы можете указать комбинацию клавиш (например, CtrI+M), которая должна будет запускать макрос (см. рис. 2.1). В Word диалоговое окно Запись макроса содержит кнопки, которые позволят вам либо приписать макрос кнопке в панели инструментов, либо назначить ему комбинацию клавиш (рис. 2.2). Щелкнув на одной из этих кнопок, вы тем самым откроете новое диалоговое окно, в котором и должны будете сделать соответствующие назначения.

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

Рис. 2.2. Диалоговое окно Запись макроса в Word

Начало записи

Командой для начала записи макроса будет щелчок на кнопке ОК в диалоговом окне Запись макроса. О том, что запись началась, вы узнаете по появившейся с этого момента панели инструментов Остановить запись (рис. 2.3). Изменится также и указатель мыши, превратившись в небольшое изображение магнитофонной компакт-кассеты.

Рис. 2.3. Панель инструментов Остановить запись

Запись команд

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

Ах, да! Все допущенные во время записи ошибки тоже будут добросовестно записаны и помещены в макрос. Чтобы их исправить, вы можете либо записать макрос вновь, либо отредактировать программный код макроса в редакторе Visual Basic (читайте ниже раздел Редактирование программного кода макроса в редакторе Visual Basic).

Паузы во время записи и ее завершение

Чтобы остановить запись после выполнения всех команд, которые вы хотели записать, щелкните на кнопке Остановить запись в панели инструментов с тем же названием (см. рис. 2.3). Запись прекратится, а все записанные команды будут сохранены в виде VBA-программы. (Если вы мне не верите, взгляните на полученный в результате программный код, - подробности ниже, в разделе 'Редактирование программного кода макроса в редакторе Visual Basic.)

Находясь в Word, вы можете сделать паузу в процессе записи макроса. Если вам необходимо выполнить команду, которая не должна быть частью макроса, щелкните на кнопке

Пауза (тоже находится в панели инструментов Остановить запись). Процесс записи впадет в летаргический сон, с этого момента игнорируя все используемые вами команды.

Во время паузы в записи кнопка Пауза будет выглядеть нажатой (рис. 2.4). Официально теперь это будет кнопка Возобновить запись. Щелкните на этой кнопке, когда снова будете готовы продолжить запись временно покинутого вами макроса.

Рис. 2.4. Использование панели инструментов Остановить запись в Word

Выполнение макросов

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

Ввиду того, что макросы являются VBA-программами, все приемы, которые используются при запуске созданных вручную VBA-программ, применимы и для автоматически записанных макросов. Всегда можно сначала открыть диалоговое окно Макрос (Alt+F8), выбрать в нем нужный макрос, а затем щелкнуть на кнопке Выполнить (в PowerPoint это кнопка Запуск; рис. 2,5). Подробно о технике выполнения VBA-программ говорится в главе 4.

Рис. 2.5. Диалоговое окно Макрос (во многих VBA-приложениях оно называется именно так)

Автоматически записанный макрос не проявляет никакого интеллекта - макрос не может изменять свое поведение в зависимости от изменившихся условий. Будучи запущенным для выполнения, он пытается выполнить записанные команды, даже если в сложившейся ситуации в приложении эти команды вообще неприменимы. Например, если макрос предполагает, что вы находитесь в начале документа, а вы вызвали его, находясь в конце документа, вполне вероятно, что он не сделает ничего вообще. Если вызвать макрос, созданный для манипуляций с текстом, в то время, когда вы редактируете созданный вами рисунок, то такой макрос может свести на нет все ваши многочасовые сверхчеловеческие усилия по созданию шедевра, просто уничтожив последний. Мой вам совет: независимо от сложности макроса, сохраните документ перед тем, как выполнять этот макрос, и будьте всегда готовы воспользоваться командой Отменить (Ctrl+Z).

Редактирование макросов как способ создания программного кода

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

Поделиться:
Популярные книги

Темная сторона. Том 1

Лисина Александра
9. Гибрид
Фантастика:
технофэнтези
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Темная сторона. Том 1

Второгодка. Книга 2. Око за око

Ромов Дмитрий
2. Второгодка
Фантастика:
героическая фантастика
альтернативная история
фэнтези
5.00
рейтинг книги
Второгодка. Книга 2. Око за око

Кодекс Охотника. Книга XXI

Винокуров Юрий
21. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XXI

Адвокат Империи 14

Карелин Сергей Витальевич
14. Адвокат империи
Фантастика:
городское фэнтези
аниме
попаданцы
5.00
рейтинг книги
Адвокат Империи 14

Пушкарь. Пенталогия

Корчевский Юрий Григорьевич
Фантастика:
альтернативная история
8.11
рейтинг книги
Пушкарь. Пенталогия

Геррон

Левински Шарль
Проза:
современная проза
7.71
рейтинг книги
Геррон

Абсурдистан

Штейнгарт Гари
Проза:
современная проза
5.00
рейтинг книги
Абсурдистан

Третий. Том 6

INDIGO
Вселенная EVE Online
Фантастика:
боевая фантастика
космическая фантастика
фантастика: прочее
попаданцы
5.00
рейтинг книги
Третий. Том 6

Великий князь

Кулаков Алексей Иванович
2. Рюрикова кровь
Фантастика:
альтернативная история
8.47
рейтинг книги
Великий князь

Великий род

Сай Ярослав
3. Медорфенов
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Великий род

Сильнейший Столп Империи. Книга 1

Ермоленков Алексей
1. Сильнейший Столп Империи
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Сильнейший Столп Империи. Книга 1

Боярышня Дуняша 2

Меллер Юлия Викторовна
2. Боярышня
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Боярышня Дуняша 2

Курс 1. Декабрь

Фокс Гарри
4. Маркатис
Фантастика:
аниме
фэнтези
сказочная фантастика
5.00
рейтинг книги
Курс 1. Декабрь

Бастард Императора. Том 10

Орлов Андрей Юрьевич
10. Бастард Императора
Фантастика:
городское фэнтези
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Бастард Императора. Том 10