Основы офисного программирования и язык VBA


Окно проекта


Давайте немного поговорим о том, как выглядит работа с модулями в среде Редактора VBE. Взгляните на рисунок 2.1, где показаны два основных окна редактора, о которых сейчас пойдет речь: окно проекта и окно кода.

Окно проекта и окно кода

увеличить изображение
Рис. 2.1.  Окно проекта и окно кода

Окно проекта или, как еще говорят, Проводник Проекта (Project Explorer) отображает структуру проекта в привычном для всех Проводников виде - дерева раскрывающихся папок. В этом окне отображается программные проекты всех открытых документов. Так что, если Вы работаете с семейством документов, то Проводник покажет полностью программный проект всего семейства. Специальная папка References покажет взаимные связи проектов отдельных документов.

Давайте разберемся в структуре проекта, показанного на рисунке 2.1. Этот проект связан с рабочей книгой Excel с именем MasterFNew. В данном случае мы имеем дело с единственным документом, хотя в окне показаны два проекта. Дело в том, что наш документ работает с Решателем (Solver). В Office 2000 Решатель представляет AddIn, ссылку на который надо включить в меню References, что и приводит к появлению соответствующего проекта в Проводнике. Заметьте, проект Solver закрыт паролем от просмотра, что не позволяет просмотреть его структуру и тем более код его модулей. Что же касается проекта нашего документа, то его структура раскрыта полностью. Он содержит:

  • 5 модулей, связанных с такими объектами, как рабочая книга, задающая сам документ, и четырьмя страницами этой книги. В окне отображаются названия этих страниц.
  • 3 модуля, связанных с формами - объектами класса Form.
  • 7 стандартных модулей. Точнее, шесть стандартных модулей и модуль Others, содержащий макросы. Обратите внимание, число стандартных модулей в этом проекте достаточно велико. Модуль Main играет роль основного модуля проекта и cодержит описание глобальных переменных всего проекта.
  • Папка References содержит ссылку на проект Solver.

Проект данного документа довольно типичен и содержит все типы модулей за исключением модулей классов.




Начало  Назад  Вперед