Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция «Visual Basic for Application».doc
Скачиваний:
7
Добавлен:
26.11.2018
Размер:
247.3 Кб
Скачать

Лекция «Visual Basic for Application»

  1. Создание программ

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

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

Почти весь создаваемый пользовательский код содержится в программах двух видов: Sub и Function.

Программы типа Sub называются процедурами и подразделяются: на простые процедуры (не относящиеся ни к какому объекту), процедуры обработки событий (процедуры, которые выполняются при наступлении определенного события, например: нажатие на кнопку или выбор элемента из какого-либо списка и т.д.) и процедуры типа Property (процедура свойства, которая выясняет или устанавливает значение свойства какого-либо объекта).

    1. Создание новой программы

  1. Необходимо открыть модуль, в котором будет размещена программа:

  • Вызвать редактор VBA;

  • Вставка –> Модуль (Insert –> Module) или 2-ой щелчок по имени существующего модуля в окне проекта.

  • Создать каркас программы.

      1. Объявление процедуры

    Sub Имя_программы( [аргументы] )

    Инструкции

    End Sub

    Где, SubEnd Sub – каркас программы, ключевые слова, обозначающие начало и конец процедуры.

    Имя_программы – наименование процедуры. Может быть набрано как русскими, так латинскими буквами. Должно подчинятся правилам именования объектов.

    [аргументы] – позволяют передать в процедуру требуемые для расчетов значения. Являются необязательными параметрами. Если процедура не требует никаких аргументов после имени.

    (Здесь и далее [ ] обозначают, что элемент, заключенный в квадратные скобки является не обязательным и может быть опущен).

    Например,

    Sub День_недели()

    Msgbox ”Сегодня – среда”

    End Sub

    Эта процедура выведет диалоговое окно с сообщением ”Сегодня – среда”.

    Правила именования объектов в vba

    1. Имя (идентификатор) объекта не должно превышать 255 символов;

    2. Имя объекта не должно содержать пробелов;

    3. Не должно содержать специальных символов:

    ! @ $ ‘ # ? / () {} [] = ^ / * - + ~ <> ^ ?;

    1. Не должно совпадать с ключевыми словами VBA (Sub, If, Do и т.д.);

    2. В рамках одного модуля совпадение имен процедур запрещается.

      1. Описание функций

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

    Описание функции имеет следующий синтаксис:

    Function имя_функции ([аргументы]) [As Тип]

    Инструкции

    имя_функции= выражение

    End Function

    Где, FunctionEnd Function – ключевые слова, обозначающие начало и конец функции;

    имя_функции – идентификатор, подчиняющийся правилам именования объектов;

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

    As Тип – объявляет тип возвращаемого функцией значения;

    имя_функции= выражение – обязательная инструкция, связывающая имя функции с конечным результатом вычислений.

    Например:

    Function Сумма(x As Integer, y As Integer) As Long

    Сумма = x + y

    End Function

    В эту функцию передается два числа х и у целого типа. Функция находит их сумму и возвращает результат типа Long. Конечный результат вычислений связывается с именем функции. Воспользоваться этой функцией можно, например, так, для вычисления выражения

    Sub Вычисление_z()

    Dim a As Integer, b As Integer

    Dim c As Integer, d As Integer, z As Double

    a = Range("A1").Value

    b = Range("A2").Value

    c = Range("A3").Value

    d = Range("A4").Value

    z = Сумма(a, b) * Сумма(a, c) / Сумма(b, d)

    Msgbox "Значение выражения " & z

    End Sub

    В этой процедуре объявляются четыре переменные целого типа и одна z – вещественного типа. Значения для переменных берутся с активного листа из ячеек А1, А2, А3 и А4. При вычислении z три раза вызывается функция Сумма с конкретными значениями для аргументов.