
- •Основы алгоритмических языков программирования Понятие о языках программирования. Современные языки программирования высокого уровня
- •Лексические единицы языков программирования
- •Интегрированные среды разработки программ
- •История развития технологии vba
- •Интегрированная среда разработки vba
- •Составные части vba-проекта. Добавление пользовательского кода
- •Вывод отладочных сообщений. Пошаговое выполнение и инструменты отладки
- •Концепция памяти. Переменные и их декларация в языках программирования
- •Структурные операторы в алгоритмических языках программирования
- •Управляющие структуры выбора
- •Данная логическая операция имеет следующую таблицу истинности, в которой «0» соответствует значению false, а «1» – true (табл 1).
- •Остальные логические операторы являются двухоперандными. Операция логического умножения and имеет следующую таблицу истинности (табл 2):
- •Наконец операция логического исключающего или представляется следующей таблицей истинности (табл 4):
- •Реализация управляющих структур выбора в vb
- •Циклические управляющие структуры
- •Реализация циклических управляющих структур в vb
- •Цикл с постусловием имеет похожий синтаксис:
- •Основные положения процедурного программирования
- •Реализация процедурного программирования в Visual Basic
- •Фундаментальные структуры данных
- •Массивы в vb
- •Агрегация разнородных типов. Структурные типы данных
- •Тип данных определяемый пользователем в vb
- •Основы объектно-ориентированного программирования
- •Реализация основных идей объектно-ориентированного программирования в языке vb. Поля и методы. Конструирование объекта класса. Адресная природа объекта класса
- •Свойства и события в vb. Связь объекта класса и его клиентов
- •Интерфейс класса в vb и его наследование
Составные части 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
Пока следует только отметить, что в состав проекта, кроме обычных модулей, которые еще называют модулями подпрограмм, могут также входить модули классов и модули, связанные с объектами форм. Добавление в проект новых модулей этих разновидностей выполняется аналогично добавлению обычных модулей.