- •Лекция №1«Visual Basic for Application»
- •Этапы подготовки задачи к реализации на пк
- •Создание программ
- •Создание новой программы
- •Объявление процедуры
- •Инструкции
- •Правила именования объектов в vba
- •Описание функций
- •Инструкции
- •Использование операторов
- •Объявление констант
- •Оператор присваивания
- •Параметры компилятора
- •Исполняемые операторы
- •Операции в vba
- •Приоритет операций
- •Использование встроенных функций vba
- •Имя_функции([аргументы])
- •InputBox(“Вводи х”, ”Моя программа ”, 8)
- •Функции ввода-вывода Функция InputBox
- •Функция вывода. Функция Msgbox
-
Создание новой программы
-
Необходимо открыть модуль, в котором будет размещена программа:
-
Вызвать редактор VBA;
-
Вставка –> Модуль (Insrert –> Module) или 2-ой щелчок по имени существующего модуля в окне проекта).
Создать каркас программы.
-
Объявление процедуры
Sub Имя_программы( [аргументы] )
Инструкции
End Sub
Где, Sub … End Sub – каркас программы, ключевые слова, обозначающие начало и конец процедуры.
Имя_программы – наименование процедуры. Может быть набрано как русскими, так латинскими буквами. Должно подчинятся правилам именования объектов.
[аргументы] – позволяют передать в процедуру требуемые для расчетов значения. Являются необязательными параметрами. Если процедура не требует никаких аргументов после имени.
(Здесь и далее [ ] обозначают, что элемент, заключенный в квадратные скобки является не обязательным и может быть опущен).
Например,
Sub День_недели()
Msgbox ”Сегодня – среда”
End Sub
Эта процедура выведет диалоговое окно с сообщением ”Сегодня – среда”.
Правила именования объектов в vba
-
Имя (идентификатор) объекта не должно превышать 255 символов;
-
Имя объекта не должно содержать пробелов;
-
Не должно содержать специальных символов:
! @ $ ‘ # ? / () {} [] = ^ / * - + ~ <> ^ ?;
-
Не должно совпадать с ключевыми словами VBA (Sub, If, Do и т.д.);
-
В рамках одного модуля совпадение имен процедур запрещается.
-
Описание функций
Основное отличие процедур и функций заключается в том, что процедуры предназначены для выполнения каких-либо действий, могут возвращать несколько результатов или не возвращать ни одного. Функция же всегда возвращает какое-либо одно значение.
Описание функции имеет следующий синтаксис:
Function имя_функции ([аргументы]) [As Тип]
Инструкции
имя_функции= выражение
End Function
Где, Function … End 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 три раза вызывается функция Сумма с конкретными значениями для аргументов.
