Шрифт:
Редактора VBA, ни Справочная система по Visual Basic for Applications не русифицированы. Поэтому если для вас восприятие английских названий пунктов меню и чтение Справочной системы на английском языке представляют определенные сложности, то вам лучше начать изучение Visual Basic for Applications именно на основе русской версии Microsoft Office 97, не смущаясь ее устареванием к сегодняшнему дню. В этом случае новые возможности и ограничения более современных версий Microsoft Office вы сможете узнать после, непосредственно при работе с ними.
Для упрощения изложения в дальнейшем тексте будет подразумеваться, что процесс создания программ и изучения языка Visual Basic for Applications проводится в среде Microsoft Word. Поскольку интерфейс Редактора VBA для всех компонентов Microsoft Office одинаков (за исключением Microsoft Access, да и то лишь в 97-й версии пакета), то перейти из среды Word на его использование в остальных компонентах офисного пакета от Microsoft будет нетрудно.
Окно редактора Visual Basic for Applications состоит из следующих частей: Менеджер проектов (в английской версии Редактора VBA — Project Explorer), Окно свойств (в английской версии — Properties Window), Окна текста программ и дизайна форм (Code Window), Окно отладки (Immediate Window), Окно контрольного значения (Watch Window), Окно локальных переменных (Locals Window), Стек вызова (Call Stack), Окно просмотра объектов (Object Browser). Ниже мы рассмотрим все эти компоненты подробнее.
Программы на Visual Basic for Applications хранятся в документах Microsoft Office. Так, в среде Word, как уже говорилось, они могут находиться в документах и шаблонах Word, а в среде Excel — в книгах с электронными таблицами, создаваемыми в этой программе.
Каждый файл, содержащий макросы, называется проектом. В окне Менеджера проектов (Project Explorer) отображаются названия всех доступных Редактору VBA проектов, в состав которых в Word входят открытые документы и шаблоны, а также шаблоны, загруженные глобально — через помещение их в папку автозагружаемых файлов Word, с помощью размещения в ней ярлыков на них или с помощью подключения через диалоговое окно "Сервис — Шаблоны и надстройки". Кроме того, при работе в Microsoft Word всегда в этом окне отображается шаблон Normal.dot со всеми макросами, сохраненными в нем (см. рис. 3.6).
Рис. 3.6. Менеджер проекта
Щелкнув мышью по знаку "+" слева от названия проекта, можно открыть список имеющихся его компонентов. Однако так можно поступить лишь с проектами, открытыми в Word: шаблон, загруженный глобально, через папку автозагружаемых файлов или путем "подключения" в диалоговом окне "Сервис — Шаблоны и надстройки", так открыть нельзя, — чтобы получить доступ к его коду для редактирования, необходимо открыть его как файл. Иначе при попытке просмотра будет выдано сообщение "Проект недоступен для просмотра" и доступ к коду будет невозможен (рис. 3.7).
Рис. 3.7. Запрет доступа к коду шаблона, загруженного глобально
Просмотр компонентов проекта можно запретить путем задания пароля. Но подобные действия являются признаком очень дурного тона в программировании.
В случае попытки открытия запароленного проекта в той же версии Office, что и та, в которой он был создан (или в более современной) пользователю будет выдан запрос на ввод пароля. Если же макросы в запароленном проекте, созданном в Microsoft Office 2000 или ХР, пытаться открыть в более ранней версии Office — Microsoft Office 97, то на экран будет выдано такое же сообщение, как и при попытке просмотреть макросы в загруженном глобально проекте — "Проект недоступен для просмотра" (в английской версии — Project is unviewable). Вызвано это тем, что в новых версиях Office парольная защита от просмотра кода программ на Visual Basic for Applications значительно усовершенствована, в частности, добавлены новые алгоритмы зашифровывания этого кода.
В Microsoft Word компоненты проекта делятся на пять больших категорий:
1. "Microsoft Word. объекты". Здесь имеется только один объект называющийся по умолчанию ThisDocument (имя можно изменить). Его контекстное меню, появляющееся при нажатии правой кнопки мыши, выглядит так, как показано на рис. 3.8.
Рис. 3.8. Контекстное меню объекта ThisDocument
При выборе пункта Объект произойдет переход к соответствующему документу — к его содержимому: тексту, графике (этот пункт недоступен для шаблонов, на которых основаны созданные документы, — в этом случае шаблоны, тот же Normal.dot, открываются как проекты и позволяют изменять содержащиеся в них макросы, но не позволяют редактировать собственно свое содержимое). В документ Microsoft Word можно вставить специальные объекты — кнопки, поля ввода текста, поля выбора вариантов и др). В этом случае после выбора пункта Программа контекстного меню объекта ThisDocument можно написать программу, которая будет выполняться при нажатии соответствующей кнопки, введении текста и др. К написанию такой программы можно перейти и из контекстного меню самого специального объекта — выделив его, нажав правую кнопку и выбрав пункт "Исходный текст".
(В Microsoft Excel в качестве объектов представлены все листы рабочей книги Excel по отдельности, а также сама книга как целое.)
2. "Модули." Модули — это и есть собственно программы в Word, макросы. Щелкнув два раза мышью на имени модуля, можно получить доступ к тексту программы или начать ее создавать. Программы, записанные пользователем с помощью средства записи макросов, хранятся по умолчанию в модуле NewMacros шаблона Normal.dot.
Для того, чтобы создать новый модуль, необходимо из контекстного меню Менеджере проектов выбрать пункт "Вставить"-"Модуль" (рис. 3.9).