Интернет-журнал 'Домашняя лаборатория', 2007 №3 - Мёрфи
Шрифт:
Интервал:
Закладка:
Не обязательно читать все главы подряд. В первой и второй главах будут описаны основные компоненты Word, предназначенные для написания программ и рассказано о работе с ними. Они скорее представляют собой небольшой справочник, полезный на первых порах, к которому иногда стоит возвращаться. Следующие три главы посвящены написанию программ на VBA, в них подробно описаны все шаги такой работы. Ну и в предпоследней главе первой части вы найдете краткий обзор некоторых интересных программ на VBA, которые можно использовать для обучения в качестве примеров.
Предполагается, что читатели знакомы с программой Microsoft Word и знают основные приемы работы в этом текстовом процессоре.
* * *
На настоящее время выпущено три версии Microsoft Office, содержащие в себе возможности работы с VBA — 97, 2000 и 2002, иначе именуемая ХР. За некоторыми исключениями все они между собой совместимы "сверху вниз", то есть программа, написанная для Word97 и в среде этого редактора, будет работать и в Word2000, и в WordXP. Обратное же верно не всегда: в Word2000 и особенно в WordXP добавлены новые команды VBA, и программа, их использующая, в Word97 уже не заработает.
В предстоящих главах в качестве основной среды программирования рассматривается Microsoft Office 97, так как вследствие вышесказанного наиболее разумным будет использовать в качестве среды разработки именно 97-ю версию Microsoft Office, в частности, для того, чтобы создаваемую программу могли применять пользователи всех версий Office. Об особенностях же программирования для Office 2000 и Office ХР сообщается отдельно там, где эти особенности имеют какое-либо значение.
Полезные советы
Если вам необходимо отправить e-mail кому-либо, у кого не русифицировано программное обеспечение компьютера или неправильно настроен почтовый сервер (подробнее — смотрите главу 13), то стопроцентно обеспечить читаемость сообщения можно, например, таким способом.
Наберите текст сообщения в каком-либо текстовом редакторе, добившись, чтобы весь он влезал на одну страницу, но был вполне читаем с экрана. После этого комбинацией клавиш Alt+PrintScreen сделайте "снимок" экрана, — его копия в виде картинки поместится в буфер обмена. Затем вставьте содержимое буфера обмена в рисунок в MS Paint'е и сохраните его как отдельный файл (можете вырезать лишь ваш текст и сохранить только его для уменьшения размера файла).
Довольно ясно, что прочитать текст в таком файле можно будет на любом компьютере, где есть хотя бы MS Paint, и вы можете смело отправлять его адресату. Только имейте в виду, что размер файла окажется немаленьким, так что постарайтесь либо заархивировать его, либо отконвертировать в формат Jpeg или Gif.
Глава 1
Средства программирования на VBA для Word: общий обзор
Создание программы
В отличие от других средств разработки программного обеспечения, где единственным способом создания новой программы является написание ее кода и создание в визуальных редакторах диалоговых окон или использование уже готовых фрагментов кода других программ, в VBA есть уникальное средство разработки, не присутствующее больше практически нигде и позволяющее быстро научиться создавать простые макросы для компонентов Office, в том числе и для Microsoft Word, без использования описаний языка. Это средство — так называемая "запись макросов". При работе в Word можно включить специальный режим записи макросов, и тогда все действия пользователя в редакторе будут автоматически "переводиться" на язык VBA и записываться в виде текста программы. Этот текст можно потом изучить для выяснения синтаксиса и устройства языка, а также необходимым образом его модифицировать.
Для записи макроса в Word надо выбрать из меню "Сервис" пункт "Макросы", а затем из выпадающего подменю — пункт "Начать запись".
Документы Word — собственно документы с расширением".doc" и шаблоны документов с расширением".dot" — устроены так, что могут хранить в себе программы. Каждую программу, хранящуюся в документе, может вызывать на исполнение либо кнопка на панели инструментов, либо сочетание клавиш, либо пункт меню, либо другая программа. Возможно любое сочетание способов вызовов. Поэтому перед началом записи макроса пользователю предлагается сразу назначить записываемому макросу способ его вызова (рис. 1.1).
Рис. 1.1. Назначение макросу способа вызова — кнопка на панели инструментов или сочетание клавиш.
Если на данном этапе для вызова макроса не будет назначена кнопка или сочетание клавиш, то это всегда можно будет сделать впоследствии с помощью диалогового окна "Настройка".
После нажатия кнопки "Ок" окна назначения способа вызова макросу в окне Word появится панель "Запись макроса" (рис. 1.2).
Рис. 1.2. Панель "Запись макроса"
С этого момента все действия пользователя тщательно протоколируются, хотя и с определенными ограничениями — так, в таком режиме невозможно проводить выделение текста мышью (перемещением курсора с нажатой клавишей Shift можно), не работает контекстное меню правой кнопки мыши. Но этих ограничений немного.
После окончания выполнения необходимых действий необходимо нажать левую кнопку на панели — "Остановка записи". Если необходимо прерваться и все же выделить какой-нибудь объект мышью, то необходимо нажать правую кнопку на этой панели — "Пауза". При повторном ее нажатии процесс записи продолжится. Пример подробного анализа результатов подобной записи будет показан в главе 3. А сейчас рассмотрим другой, более традиционный способ написания программ на VBA — посредством Редактора VBA.
Редактор Visual Basic for Applications
В Microsoft Word этот редактор вызывается из меню "Сервис"-"Макросы"-"Редактор Visual Basic" или нажатием клавиш Alt-F11. Окно редактора VBA (рис. 1.3.) состоит из следующих частей: Менеджер проектов, Окна текста программ и дизайна форм, Окно свойств, Окно отладки, Окно контрольного значения, Окно локальных переменных, Стек вызова, Окно просмотра объектов. Каждое окно может как отображаться на экране, так и нет. Ниже мы рассмотрим все эти компоненты подробнее.
Рис. 1.3. Редактор VBA. Отображаются Менеджер проектов, Окно текста программ и дизайна форм, Окно свойств, Окно отладки
Программы на VBA для среды Word хранятся в документах и шаблонах Word. (Другие форматы для хранения макросов непригодны.) Каждый документ или шаблон, содержащий макросы, называется проектом. В окне Менеджера проектов отображаются названия всех доступных Word проектов, в состав которых входят открытые документы и шаблоны, а также шаблоны, загруженные глобально — через помещение их в папку автозагружаемых файлов Word. Кроме того, всегда в этом окне отображается шаблон Normal.dot со всеми макросами, сохраненными в нем (см. рис. 1.4).