Окно проводника проекта (Project Explorer) и структура проекта VBA

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

q нажать клавиши <Ctrl>+<R>;

q нажать кнопку Project Explorer на панели инструментов Standard;

q воспользоваться меню View | Project Explorer.

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

Самый верхний уровень — это проект (Project), которому соответствует документ Word, рабочая книга Excel, презентация PowerPoint или другой файл, с которым работает данное приложение. Если редактор Visual Basic открыт из Excel, то в Project Explorer будут открытые книги Excel и специальная скрытая книга PERSONAL.XLS.

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

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

q раздел объявлений уровня модуля (объявление переменных и констант уровня модуля);

q раздел методов модуля (расположение процедур и функций).

При работе макрорекордера в Excel в проекте personal.xls или в текущей рабочей книге (в зависимости от места сохранения макроса) автоматически создается стандартный модуль Module1, куда и записываются все создаваемые макрорекордером макросы.

В большинстве проектов VBA используется только один стандартный модуль, куда записывается весь код. Создавать новые стандартные модули имеет смысл только из следующих соображений:

q для удобства экспорта и импорта (из контекстного меню в Project Explorer). Так можно очень удобно обмениваться блоками кода между приложениями VBA (и обычного VB);

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

для улучшения читаемости. Если ваше приложение выполняет разные группы задач, то код, относящийся к каждой группе, лучше поместить в свой модуль.

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

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

q изменить имя проекта. Это может потребоваться, если у вас есть ссылки на проект с таким же именем;

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

q защитить проект, введя пароль. Не зная этот пароль, проект нельзя будет просмотреть или отредактировать.

Тем не менее, в окне Project Explorer обычно приходится выполнять следующие действия.

q Если вам нужно создать свой макрос вручную, а макросов в данном документе еще нет, то нужно щелкнуть правой кнопкой мыши по узлу проекта (строке, выделенной полужирным шрифтом) и в контекстном меню выбрать команду Insert | Module. В проекте будет создан новый модуль и сразу открыт в окне редактора кода.

q Если вы уже создавали макросы в этом проекте (макрорекордером или вручную), то модуль будет уже создан. Его можно увидеть под контейнером Modules. Чтобы его открыть в окне редактора кода, достаточно щелкнуть по модулю два раза левой кнопкой мыши. Там можно будет найти макросы, созданные вами ранее средствами макрорекордера.

q Внимание

Обязательно подумайте, где вам будет нужен создаваемый код — только в одном документе или во всех документах данного приложения. Если он будет нужен только в одном документе, используйте стандартный программный модуль этого документа. Если во всех, то используйте программные модули проекта PERSONAL.XLS.

q Если вам нужно создать графическую форму с элементами управления (кнопками, текстовыми полями, раскрывающимися списками и т. п.), то нужно щелкнуть правой кнопкой мыши по узлу проекта и в контекстном меню выбрать Insert | UserForm. Новая форма будет создана и открыта в режиме дизайнера форм

Теперь, когда программный модуль создан (или найден), можно приступать к работе с редактором кода VBA.

Из чего состоит код?

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

Во всех языках высокого уровня программный код состоит из:

  • Переменных
  • Выражений
  • Операторов
  • Управляющих структур
  • Функций
  • Классов и объектов

VBA является современным языком программирования, полностью оснащенным всеми необходимыми структурными операторами и типами данных.

Кроме того, в VBA применяются объекты, что делает его использование при разработке прикладных программ более понятным и легким. В объектно-ориентированном программировании данные и код, который манипулирует этими данными, объединены в структуре, называемой объектом. Объект обладает определенными свойствами и методами.

Свойства - это характеристики объекта, такие как размер, цвет, положение на экране, или состояние объекта, например доступность или видимость.

Методы – это действия, выполняемые над объектом.

Пример.

Worksheets(“Лист1”).Visible = False С помощью установки свойству Видимость значения Ложь скрывается рабочий лист “Лист 1”.
Worksheets (“Лист 2”).Delete При помощи метода Delete удаляется этот рабочий лист “Лист 2”.

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

Пример.

Workbooks("Kнигa1").Worksheets(“Лucm1").Range("A14").Font получаем доступ к рабочей книге "Книга1", рабочему листу “Лист1", шрифту ячейки "A14".

Объектами Excel являются таблицы, рабочие книги, диаграммы, области ячеек и др. Семейство представляет собой объект, содержащий несколько других объектов, как правило, одного и того же типа.

Например, семейство Workbooks объединяет все открытые рабочие книги.

Обратиться к элементу семейства можно по имени или номеру.

Пример:

Worksheets (“Лист1”) или Worksheets (1)


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: