Работа с Project Explorer

При работе в редакторе Visual Basic каждая рабочая книга Excel и открытые в данный момент надстройки рассматриваются как проекты. Проект можно считать коллекцией объектов, организованных в виде иерархической структуры. Вы раскроете проект, если щелкнете на знаке “плюс” слева от его названия в окне Project Explorer. Проект сворачивается после щелчка на знаке “минус” слева от его названия. При попытке развернуть проект, защищенный паролем, отображается окно для ввода пароля.

В верхней части окна Project Explorer отображаются три пиктограммы. Находящаяся в правой части пиктограмма Переключить папку (Toggle Folder) определяет отображение объектов проекта в виде иерархического или простого списка.

На рисунке показано окно Project Explorer, в котором отображается несколько проектов.

При запуске VBE отображаемый программный модуль не всегда соответствует объекту, который выделен в окне Project Explorer. Чтобы убедиться в том, что работа происходит с нужным программным модулем, дважды щелкните на объекте в окне Project Explorer.

Если в Excel загружено несколько рабочих книг и надстроек, окно Project Explorer будет загромождено. К сожалению, скрыть проекты в окне Project Explorer невозможно. Но если вы детально не рассматриваете отдельные проекты, то можете отображать их в свернутом виде.

Развернутое дерево каждого проекта имеет минимум один узел под названием Microsoft Excel Objects. В нем содержатся элементы каждого рабочего листа и лист диаграмм рабочей книги (рабочий лист считается объектом), а также объект ЭтаКнига (ThisWorkbook), представляющий объект ActiveWorkbook. Если в проекте используются модули VBA, то в дереве отображается также узел Modules, в котором перечислены модули. Проект может включать узел Forms, содержащий объекты UserForm (пользовательские формы, известные как пользовательские диалоговые окна). Если в проекте находятся модули классов, то в дереве отображается узел Class Modules. Аналогично, если проект включает ссылки, отображается узел References (хотя на самом деле польза от этого узла сомнительна, поскольку ссылки не могут включать VBA-код).

Добавление нового модуля VBA

Чтобы добавить в проект новый модуль VBA, выделите название проекта в окне Project Explorer и выберите команду ВставкаМодуль (InsertModule). Также можете щелкнуть правой кнопкой мыши на названии проекта и выбрать команду InsertModule в контекстном меню.

При создании макроса Excel автоматически включает модуль VBA, в котором будет храниться создаваемый вами код.

Удаление модуля VBA

Чтобы удалить из проекта модуль VBA или модуль класса, выделите название модуля в окне Project Explorer и используйте команду FileRemove ххх (где ххх – название модуля). Кроме того, вы можете щелкнуть правой кнопкой мыши на названии модуля и выбрать команду Remove ххх из контекстного меню. Перед удалением модуля отображается запрос на его экспорт. Вы не сможете удалить программные модули, соответствующие рабочей книге (программный модуль ЭтаКнига), а также рабочему листу (например, программный модуль Лист1).

Экспорт и импорт объектов

За исключением объектов, перечисленных в узле References, каждый объект в проекте можно сохранить в отдельном файле. Сохранение отдельного объекта в проекте называется экспортом. Соответственно, вы можете также импортировать объекты в проект. Экспорт и импорт объектов востребован, если созданный ранее объект (например, модуль VBA или форму UserForm) нужно использовать в другом проекте.

Чтобы экспортировать объект, выберите его в окне Project Explorer и выполните команду ФайлЭкспорт файла (FileExport File) (или нажмите <Ctrl+E>). При этом отображается диалоговое окно, запрашивающее имя файла. Обратите внимание, что сам объект остается в проекте (экспортируется только его копия). Если вы экспортируете объект UserForm, экспортируется также весь код, связанный с формой UserForm.

Чтобы импортировать файл в проект, выберите имя проекта в окне Project Explorer и выполните команду ФайлИмпорт файла (FileImport File). Появится диалоговое окно, в котором необходимо указать имя файла. Можно импортировать только те файлы, которые экспортированы с помощью команды FileExport File.

Если нужно скопировать модуль или объект UserForm в другой объект, вовсе не обязательно сначала экспортировать, а затем импортировать объект. Убедитесь в том, что оба проекта открыты; просто откройте Project Explorer и перетащите объект из одного проекта в другой.

В начало

Полезное

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *