Все о модулях

We use cookies. Read the Privacy and Cookie Policy

Все о модулях

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

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

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

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

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

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

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

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

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