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

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

Жанры

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-программы сильно зависят от объектов, методов и свойств, заимствованных именно из приложения. Вместо того чтобы печатать соответствующие команды вручную, почему бы не записать их как макрос?

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

На границе империй. Том 10. Часть 8

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

Неучтенный элемент. Том 4

NikL
4. Антимаг. Вне системы
Фантастика:
фэнтези
5.00
рейтинг книги
Неучтенный элемент. Том 4

Бастард

Майерс Александр
1. Династия
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Бастард

Газлайтер. Том 6

Володин Григорий
6. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 6

Двойник Короля

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

Дважды одаренный. Том VI

Тарс Элиан
6. Дважды одаренный
Фантастика:
аниме
альтернативная история
фэнтези
фантастика: прочее
5.00
рейтинг книги
Дважды одаренный. Том VI

Эпоха Опустошителя. Том III

Павлов Вел
3. Вечное Ристалище
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Эпоха Опустошителя. Том III

Законник Российской Империи

Ткачев Андрей Юрьевич
1. Словом и делом
Фантастика:
городское фэнтези
альтернативная история
аниме
5.00
рейтинг книги
Законник Российской Империи

Локки 9. Потомок бога

Решетов Евгений Валерьевич
9. Локки
Фантастика:
фэнтези
попаданцы
героическая фантастика
боевая фантастика
5.00
рейтинг книги
Локки 9. Потомок бога

Тыл-фронт

Головин Андрей
Проза:
военная проза
проза прочее
5.00
рейтинг книги
Тыл-фронт

Прапорщик. Назад в СССР. Книга 6

Гаусс Максим
6. Второй шанс
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Прапорщик. Назад в СССР. Книга 6

Наследник

Назимов Константин Геннадьевич
3. Травник
Фантастика:
фэнтези
6.80
рейтинг книги
Наследник

Дважды одаренный

Тарс Элиан
1. Дважды одаренный
Фантастика:
альтернативная история
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Дважды одаренный

Я – Легенда

Гарцевич Евгений Александрович
1. Я - Легенда!
Фантастика:
боевая фантастика
попаданцы
рпг
фантастика: прочее
5.00
рейтинг книги
Я – Легенда