Программирование на VBA/§2.2

Материал из Викиверситета

Окно проводника проектов (Project Explorer), структура проекта VBA, стандартные модули, модули классов, пользовательские формы, свойства проекта VBA

Окно Проводника проектов обычно открывается при открытии редактора Visual Basic. Если оно закрыто, то вызвать его можно:

  • воспользовавшись меню View -> Project Explorer.
  • нажав на кнопку Project Explorer на панели Standard ;
  • нажав горячии клавиши <Ctrl>+<R>;

В окне Project Explorer представлено дерево компонентов приложения VBA.

Самых верхних уровней — 2.

  1. Проект (Project), документа Word, Excel (и прочих), с которыми работает данное приложение.
  2. Шаблон Normal.dot (для Word), PERSONAL.XLS (для Excel). Работает для всех документов (и даже если ни одного документа не открыто).

Каждый проект (читай - документ) — это одновременно контейнер для хранения модулей, модулей классов и пользовательских форм. Добавить эти компоненты в проект можно при помощи меню Insert или через контекстное меню в Project Explorer.

Стандартные модули — это просто блоки с текстовым представлением команд VBA. В нем может быть только два раздела:

  • раздел объявлений уровня модуля (объявление переменных, констант уровня модуля);
  • раздел методов модуля (расположение функций, процедур).

Например макрорекордер при записи макроса создает отдельный модуль в ветке дерева шаблона или проекта (выбирается пользовалем). Если Вы запишите несколько макросов в макрорекодере, то будет созадно несколько модулей. Если Вы будете писать свои макросы, то их можно расположить в одном модуле. (о тонкостях взаимодействия процедур и функций в одном / разном модулях позже).


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

Модули классов позволяют создавать свои собственные классы. Это основа для создания своих собственных объектов. Обычно это объекты, которых нет в стандартной поставке или компоненты, наследованые от стандартных, но с добавленными (модифицированными) свойствами / методами.

Формы - хранилище элементов управления (кнопки, списки и т.п.), а так же кода, связанного с этими элементами управления.

Контейнер References (кроме Excel), позволяет хранить и показывать ссылки на другие проекты (документы Word), программные модули и код которых мы можем использовать. По умолчанию в каждый проект помещается ссылка на шаблон Normal, код из которого можно использовать в любом месте проекта.


Project Explorer — позволяет настроить свойства проекта. Для этого нужно щелкнуть правой кнопкой мыши по узлу Project (VBAProject) и в контекстном меню выбрать Project Properties (или через меню Tools -> Project Properties. Редактируемые свройства проекта:

  • имя проекта.
  • описание проекта, информацию о файле справки, параметры, которые будут использоваться компилятором;
  • защита проекта от просмотра или отредактирования.

Таким образом, если вы хотите создать макрос самостоятельно ( не через макрорекодер), а модуля для этого еще нет, нужно будет щелкнуть правой кнопкой мыши по узлу проекта и в контекстном меню дать команду Insert -> Module. В проекте будет создан новый модуль и сразу открыт в окне редактора кода.