Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

VBA в MS Office 2007

Покупка
Артикул: 825023.01.99
Доступ онлайн
1 000 ₽
В корзину
Курс посвящен программированию на VBA в MS Office 2007. Он рассчитан на опытных пользователей Office, которые хотят повысить производительность работы в офисных приложениях, автоматизировав часто встречающиеся задачи. Подробно рассматриваются основы VBA и особенности программирования для MS Word и MS Excel. Курс рассчитан на опытного пользователя Office, который хочет научиться программировать для этой среды, но не занимался программированием раньше. Одна из главных его целей — научить читателя думать и действовать самостоятельно, а не по чьей-либо указке. После изучения основ и общих методов работы, пользователь перейдет к освоению объектных моделей и приёмов программирования в MS Word и MS Excel с множеством практических примеров применения этих редакторов. Тот, кто проработает этот курс, сможет сделать не только всё то, о чём в нем рассказывается, но и продолжить своё программистское самообучение. В частности — освоить Visual Basic, освоить ООП, основы которого излагаются в книге, научиться пользоваться объектными моделями приложений Office, которые остались за рамками курса.
Заика, А. А. VBA в MS Office 2007 : краткий учебный курс / А. А. Заика. - Москва : ИНТУИТ, 2016. - 255 с. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2137131 (дата обращения: 21.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов

                                    
VBA в MS Office 2007

2-е издание, исправленное

Заика А.А.

Национальный Открытый Университет “ИНТУИТ”
2016

2

VBA в MS Office 2007/ А.А. Заика - М.: Национальный Открытый Университет “ИНТУИТ”, 2016

Курс посвящен программированию на VBA в MS Office 2007. Он рассчитан на опытных
пользователей Office, которые хотят повысить производительность работы в офисных приложениях,
автоматизировав часто встречающиеся задачи.
Подробно рассматриваются основы VBA и особенности программирования для MS Word и MS Excel.
Курс рассчитан на опытного пользователя Office, который хочет научиться программировать для
этой среды, но не занимался программированием раньше. Одна из главных его целей — научить
читателя думать и действовать самостоятельно, а не по чьей-либо указке. После изучения основ и
общих методов работы, пользователь перейдет к освоению объектных моделей и приёмов
программирования в MS Word и MS Excel с множеством практических примеров применения этих
редакторов. Тот, кто проработает этот курс, сможет сделать не только всё то, о чём в нем
рассказывается, но и продолжить своё программистское самообучение. В частности — освоить Visual
Basic, освоить ООП, основы которого излагаются в книге, научиться пользоваться объектными
моделями приложений Office, которые остались за рамками курса.

(c) ООО “ИНТУИТ.РУ”, 2009-2016
(c) Заика А.А., 2009-2016

3

Макрорекордер: начало автоматизации

Чтобы начать автоматизацию повседневных дел с помощью VBA, не нужно уметь
программировать. Первые программы мы создадим, не написав ни единой строчки
кода. Дело в том, что приложения Microsoft Office умеют создавать простые VBAпрограммы автоматически. Эти программы называются макросами.

1.1. Макрорекордер — универсальный помощник

Для автоматического создания макросов служит макрорекордер. Мы рассмотрим
работу с ним на примере Microsoft Office Word 2007. Если отвлечься от VBA и
говорить об обычной работе в Word, то окажется, что с помощью макрорекордера
можно записывать действия, которые мы выполняем в программе. Например,
записывается ввод и удаление текста, нажатие на кнопки вкладок, форматирование
текста и так далее.

Однажды мне нужно было отформатировать довольно большой документ в
кратчайшие сроки. А именно — выделить особыми стилями некоторые слова. Всего
этих стилей было четыре, а это значит, что наиболее доступный метод офисной
автоматизации — средство Формат по образцу — помогло бы не слишком сильно.
Ручное форматирование (или создание новых стилей) так же казалось слишком
медленным. Но на помощь пришли макросы, созданные с помощью макрорекордера.
Назначив форматирование каждым из стилей собственному сочетанию клавиш, я
значительно ускорил работу. А именно — правой рукой управлял мышью,
перемещаясь по тексту и выделяя нужные слова, а левой нажимал необходимые
сочетания клавиш.

Алгоритм работы с макрорекордером выглядит так:

1. Включить запись макроса, настроив некоторые параметры;
2. Выполнить действия, которые вы хотели бы автоматизировать;
3. Остановить запись;
4. Использовать записанный макрос по необходимости.

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

Лучший способ освоить макрорекордер — это попытаться самостоятельно записать
макрос. Этим мы сейчас и займемся.

1.2.Форматирование текста в MS Word

4

Примечание. Если при попытке выполнить примеры этого курса вы, столкнетесь с
ошибкой “Can’t find project or library“, перейдите в редактор Visual Basic,
выполните команду Tools > References, в появившемся окне найдите те элементы
списка, которые помечены как MISSING, снимите флаги напротив их имен, и если в
списке имеются свежие версии отсутствующих библиотек, отметьте их, и нажмите ОК.
После этого пример будет запускаться.

Can’t find project or library

Tools-References

ссылка: 01-01-Автоматическое форматирование.docm http://old.intuit.ru/department/se/vbamsoffice2007/1/01_01.docm — пример к п. 1.2.

Запишем в Microsoft Word макрос, который по нажатию комбинации клавиш
форматирует выделенный текст определенным образом.

1.2.1. Задание

Создать макрос в Microsoft Word, который автоматически форматирует выделенный
текст следующим образом:

Шрифт: Times New Roman, 14-й, курсивный

5

Цвет шрифта: красный

Назначить вызов макроса по нажатию комбинации клавиш Alt + Ctrl + Shift + A и по
нажатию настраиваемой кнопки.

1.2.2. Решение

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

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

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

Рис. 1.1.  Начало записи макроса

В открывшемся меню нам нужна команда Запись макроса.

Появится окно для настройки свойств макроса (рис. 1.2.). Рассмотрим поля этого
диалога.

Имя макроса: в это поле нужно ввести имя макроса. Имена макросов должны
начинаться с буквы, не должны содержать пробелов. Желательно давать макросам
какие-нибудь осмысленные имена. Например, Формат_Times_Красный.

Назначить макрос кнопке: диалоговое окно назначения макроса настраиваемой кнопке.

Назначить макрос клавишам: диалоговое окно назначения макроса сочетанию клавиш
на клавиатуре.

6

Рис. 1.2.  Окно настройки свойств макроса

В поле Макрос доступен для надо выбрать место сохранения макроса, которое
определяет его доступность для различных документов. По умолчанию здесь выбран
параметр Всех документов ( Normal.dotm ).

Normal.dotm —это общий шаблон, доступный для всех документов Microsoft Word.
Если макрос будет сохранен в Normal.dotm — вы сможете запустить его из любого
Word-документа. Не следует сохранять все записываемые вами макросы в Normal.dotm.
Делайте это лишь тогда, когда вы точно уверены в том, что макрос понадобится вам в
различных документах. Мы выберем в этом поле значение Документ 1 (документ).
Именно так здесь называются еще не сохраненные документы. Выбрав этот пункт, мы
сохраняем макрос в текущем документе, то есть сможем вызывать макрос лишь из
этого документа.

В поле Описание содержится описание макроса. Вы вполне можете оставить его
пустым.

Кнопка OK начинает запись макроса. Но до начала записи воспользуемся кнопкой
Назначить макрос клавишам. Появится окно настройки комбинации клавиш для
запуска макроса (рис. 1.3.).

Чтобы назначить макросу сочетание клавиш, нужно установить курсор в поле Новое
сочетание клавиш и нажать нужное сочетание на клавиатуре. В случае, если это
сочетание не назначено ранее для быстрого вызова каких-либо команд, под полем
Текущие сочетания вы увидите надпись Текущее назначение: [нет]. Если вы увидите
здесь что-нибудь другое — лучше всего поискать свободное сочетание. Иначе вы
можете столкнуться с неожиданным поведением знакомых вам горячих клавиш.

7

Рис. 1.3.  Настройка сочетания клавиш для запуска макроса

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

Normal.dotm. Сохранять привязку сочетаний клавиш к макросам в Normal.dotm следует
лишь в том случае, если вы, во-первых, на предыдущем шаге сохранили макрос в

Normal.dotm, а во-вторых, хотите, чтобы данное сочетание работало во всех остальных
документах MS Word, а не только в текущем документе.

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

В процессе записи макроса указатель мыши дополняется значком с изображением
кассеты. Щелчок правой кнопкой не действует. Поэтому нам нужно отформатировать
текст, пользуясь вкладками ленты Microsoft Word. Так и поступим. Настроим
необходимые параметры форматирования, снова перейдем на вкладку Вид и нажмем
там на кнопку Остановить запись (рис. 1.4.)

8

Рис. 1.4.  Остановка записи макроса

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

После записи макроса самое время его протестировать. Для этого выделим текст и
нажмем Ctrl + Alt + Shift + A. Если все сделано правильно — текст будет
отформатирован.

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

Для этого нажмите кнопку настройки панели быстрого доступа (она находится справа
от панели) и в появившемся меню выберите пункт Другие команды. Появится окно для
настройки команд Microsoft Word (рис. 1.5.).

В списке Выбрать команды из выберите Макросы.

В поле, которое расположено ниже, появятся ссылки на доступные макросы. Выделите
нужный и нажмите на кнопку Добавить>>. Ссылка на него появится в поле Настройка
панели быстрого доступа. В списке настройки этого поля выберем документ, который
мы в данный момент редактируем — тем самым мы внесем изменения лишь в панель
быстрого доступа этого документа.

9

Рис. 1.5.  Назначение макроса кнопке панели быстрого доступа

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

Здесь вам нужно выбрать понравившийся значок для кнопки макроса и ввести в поле
Отображаемое имя текст, который будет появляться при наведении на кнопку вызова
макроса указателя мыши. Вот, что получилось в итоге (рис. 1.6.).

Рис. 1.6.  Кнопка для быстрого вызова макроса на панели быстрого запуска

Сохраняя файл Microsoft Word, содержащий макросы, обязательно убедитесь в том,
что вы сохраняете его в формате .docm (Документ Word с поддержкой макросов ). Дело
в том, что используемый по умолчанию формат .docx (Документ Word) не
поддерживает макросы. Если вы сохраните документ с макросами в таком формате,
результаты работы будут утеряны.

10

Доступ онлайн
1 000 ₽
В корзину