Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
00 Ячменев Е.Ф. - Лекции по VBA.doc
Скачиваний:
10
Добавлен:
09.11.2019
Размер:
381.44 Кб
Скачать

2.1. Понятие процедуры

2.2. Процедуры-подпрограммы

2.3. Функции

2.1. Понятие процедуры

Программы VBA хранятся в проектах. Проекты состоят из модулей, включающих в себя процедуры. Процедура – это набор описаний и инструкции, сгруппированные для выполнения. В VBA используются процедуры двух типов: процедура Sub (процедура-подпрограмма или просто процедура) и процедура Function (функция).

2.2. Процедуры-подпрограммы

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

Синтаксис процедуры следующий:

[Public | Private] Sub имя ([аргументы])

Инструкции

[Exit Sub]

[Инструкции]

End Sub

Необязательные ключевые слова Public и Private используются для описания области видимости процедуры – во всех модулях проекта или только в том модуле, где процедура описана.

Ключевые слова Sub и End Sub используются в описании любой процедуры.

Параметр имя определяет имя процедуры.

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

Инструкция Exit Sub позволяет выйти из процедуры.

2.3. Функции

Процедура-функция также представляет собой набор команд, который решает определенную задачу. Различие заключается в том, что функция обязательно возвращает значение и, таким образом, может использоваться в любом выражении.

Упрощенный синтаксис функции:

[Public | Private] Function имя ([аргументы]) [As Тип]

Инструкции

имя = выражение

[Exit Function]

[Инструкции]

End Function

Основные различия в синтаксисе заключаются в следующем:

Ключевые слова Function и End Function используются в описании любой функции.

Параметр имя определяет имя функции.

Параметр тип позволяет явно задать тип данных, который возвращает функция. Если он опущен, то по умолчанию возвращается значение типа Variant.

Внутри функции обычно имеется инструкция имя = выражение, которое используется для задания возвращаемого значения. Параметр выражение определяет значение, которое должно быть совместимым с объявленным в параметре As тип типом данных для функции.

Инструкция Exit Function позволяет выйти из процедуры-функции.

Тема 3. Введение в объектно-ориентированное программирование План

    1. Основные понятия объектно-ориентированного программирования

    2. Использование объектов приложения

3.1. Основные понятия объектно-ориентированного программирования

Объекты и относящиеся к ним понятия используются в VBA очень часто. За исключением стандартных типов данных, таких как числа, логические данные и т.д., все данные в VBA представлены в виде объектов. Например, формы и элементы управления в формах рассматриваются как объекты. Чтобы получить доступ к приложению или его данным, также требуется использовать объекты. Рассмотрим основные понятия, используемые в объектно-ориентированном программировании (ООП):

Объект – это абстракция предмета реального мира, дающая информацию только о тех его характеристиках, которые используются на уровне программы.

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

Семейство (или коллекция) объектов – это набор существующих перечислимых объектов одного класса. Доступ к каждому объекту-члену семейства осуществляется по его индексу – порядковому номеру или имени объекта (значению свойства Name).

Каждый класс и семейство объектов обладают своим набором свойств и методов.

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

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

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

Свойства и методы не используются по отдельности: они указываются вместе с объектом:

Объект.Свойство

Объект.Метод

Здесь Объект – имя объектной переменной, ссылка на объект-член семейства или ключевое слово, однозначно описывающее конкретный экземпляр класса (например, ключевое слово Selection однозначно дает ссылку на выделенный диапазон ячеек рабочего листа Microsoft Excel или выделенный блок текста документа Microsoft Word).

Для получения значения свойства используется инструкция вида

Переменная = Объект.Свойство,

где Переменная – имя переменной, совместимой по типу с типом данных свойства.

Для присвоения нового значения свойству в программе следует использовать инструкцию

Объект.Свойство = значение,

где значение – любое выражение, возвращающее значение допустимого для свойства типа.

При вызове метода объекта используется инструкция

Объект.Метод [параметр1][, параметр2] … [, параметрN]

Если метод, возвращает значение, то его необходимо присвоить совместимой с ним по типу переменной:

Переменная = Объект.Метод _

[([параметр1][, параметр2] … [, параметрN])]