Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика 3-4(ЯП)+.doc
Скачиваний:
113
Добавлен:
10.06.2015
Размер:
680.96 Кб
Скачать

Составные части vba-проекта. Добавление пользовательского кода

Проект VBA-приложения представляет собой совокупность таких элементов, как модули подпрограмм(module),модули классов(class module),формы(userform),ссылки(reference) на другие VBA-проекты имодули встроенных объектовдокумента приложения-контейнера. Составные части VBA-проекта доступны, как уже упоминалось, в виде иерархического списка в проводнике проектов. Проект VBA-приложения необязательно должен иметь все возможные составные части. В самом простейшем случае приложение может состоять только из одного модуля, который ассоциирован с объектом документа приложения-контейнера. Например, для MicrosoftWord таким модулем по умолчанию является модуль, ассоциированный с объектом текущего документа, как показано на рис. 4.

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

Рис. 4. Содержимое проекта VBA-приложения по умолчанию в Microsoft Word

Несмотря на присутствие в VBA-проекте модуля по умолчанию, тем не менее в большом реальном проекте целесообразно, подпрограммы решающие логически связанные задачи, группировать в рамках одного модуля исходного кода. Любой модуль в VBA представляет собой текстовый файл, упакованный внутри документа приложения-контейнера и предназначенный для размещения в нем исходного текста программ в виде объявлений переменных, типов, а также реализаций подпрограмм (процедур и функций). Добавить новый модуль в проект VBA-приложения можно, воспользовавшись командойInsert | Module. Идентификатор создаваемого и присоединенного к проекту модуля имеет вид Module<n>, где <n> – порядковый номер модуля. Задать новое имя для модуля так, чтобы оно отражало его назначение и указывало на общий смысл функциональности подпрограмм, входящих в его состав, можно с помощью окна свойств. Для этого пункт с названием нового модуля необходимо выделить в проводнике проекта, а в окне свойств ввести новое значение для свойства Name, напримерTestVBAModule.

В нашем случае этот модуль может быть использован для размещения кода простейшего приложения. Если содержимое модуля не отображено в редакторе кода, модуль необходимо активизировать. Для этого необходимо сделать двойной щелчок по соответствующему элементу в проводнике проекта или выбрать команду View | Code.

Добавить в состав модуля новый элемент кода можно вполне произвольно или для вставки новой подпрограммы воспользоваться командой Insert | Procedure, с помощью которой открывается диалоговое окноAddProcedure(рис. 5).

Рис. 5. Диалоговое окно Add Procedure

Присоединим к модулю новую процедуру с идентификатором MyFirstProc, исходный текст которой приведен ниже:

Public Sub MyFirstProc()

MsgBox "Привет, мир VBA"

End Sub

Для выполнения кода этой процедуры необходимо установить курсор в редакторе на ее исходный текст и выбрать команду Run|Run Sub/UserForm. В случае успешного исполнения будет автоматически активизировано окно приложения контейнера и на экране отобразится диалоговое окно с сообщением. В том случае, если курсор в редакторе кода не указывает на код какой-либо подпрограммы, активизация командыRun |Run Sub/UserFormприведет к тому, что среда VBA предложить выбрать нужную подпрограмму для запуска с помощью списка в диалоговом окне Macros (рис. 6).

Рис. 6. Выбор подпрограммы для исполнения с помощью диалогового окна Macros

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