VBA для «чайников» (Каммингс) - страница 81

Все о модулях

В иерархии элементов программного кода VBA модули стоят на ступеньку ниже проектов. Модуль хранит одну или несколько процедур, а также раздел объявлений, состоящий из операторов, применимых ко всему модулю.

Планирование модулей

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

Процедуры могут вызывать или выполнять процедуры, хранящиеся в других модулях.

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

Использование процедур и переменных из друтих модулей немного усложняет задачу программирования. Например, можно вызвать процедуру из другого модуля, просто напечатав ее имя. Однако, если имя той процедуры совпадает с именем процедуры из вызывающего модуля, необходимо напечатать перед именем процедуры имя содержащего ее модуля, например ДругойМодуль.НужнаяПроцедура. (Я вообще рекомендовал бы использовать формат Модуль. Процедура всегда, даже если никаких совпадений имен нет.)

В общем, следует размещать связанные каким-либо образом процедуры в одном модуле.

Как правило, один модуль содержит все процедуры одной целой VBA-программы. Это упрощает программирование, поскольку не приходится иметь дело с вышеописанными сложностями с вызовом процедур и переменных из других модулей.

И все же, если вы планируете создание процедур, которые будут использоваться более чем одной программой, имеет смысл организовать эти процедуры в модули по типу выполняемых ими задач, например МатематическиеПроиедуры ИЛИ БлокОбраЕоткиТекста. Можно создавать и модули типа КовыеПроцедуры или СтарыеПроцедурыНаВсякийСлучай. Подробности вы найдете в разделе Выбор имен дальше в настоящей главе.

Добавление нового модуля в VBA-проект

Чтобы создать новый модуль в редакторе Visual Basic, сначала убедитесь, что вы работаете с нужным проектом. В окне проводника проектов выделите либо сам проект, либо один из его компонентов - не имеет значения, какой (это может быть, например, форма, объект приложения или модуль). После этого можно добавить модуль в проект любым из следующих способов.

* Щелкните на кнопке Insert Module (Добавить модуль) (ее изображение вы видите рядом). Это многофункциональная кнопка, предназначенная для добавления в проект различных объектов. Если картинка добавления модуля не видна, а вместо нее видна, например, картинка добавления формы, щелкните на узкой полоске со стрелкой около главной части кнопки и выберите нужный пункт из раскрывшегося меню.