- •Конспект лекций «Основы языка Visual Basic for Applications»
- •Содержание
- •Основные элементы vba
- •Что такое vba
- •Понятие объектов и их семейств
- •Свойства
- •События
- •Структура редактора vba
- •Окно проекта
- •Окно для редактирования кода
- •Интеллектуальные возможности редактора кода
- •Команды Меню интегрированной среды vba
- •Панели инструментов
- •Работа с макросами
- •Понятие макросов
- •Запись макросов
- •Выполнение макросов
- •Просмотр кода макроса
- •Редактирование кода макроса
- •Удаление макросов
- •Назначение макросов командным кнопкам
- •Назначение макроса графическим изображениям
- •Назначение макросов кнопкам панелей инструментов
- •Основные понятия языка программирования vba
- •Понятие и общие правила написания программного кода
- •Типы данных
- •Объявление переменных
- •Допустимые имена
- •Массивы
- •Константы
- •Операторы ввода / вывода информации
- •Простейшие операции
- •Операции vba
- •Приоритет выполнения операций в выражениях
- •Оператор присвоения
- •Структура программы. Процедуры. Функции
- •Основные понятия
- •Понятие модуля
- •Понятие процедуры
- •Понятие функции
- •Правила для имён процедур и функций
- •Вызов процедур и функций
- •Встроенные функции vba
- •Математические функции
- •Функции проверки типов
- •Функции преобразования типов
- •Функции обработки строк
- •Функции времени и даты
- •Реализация разветвляющихся алгоритмов
- •Условный оператор If … Then
- •Вложенные конструкции для принятия решений с использованием условного оператора If … Then
- •Многозначные ветвления If … Then
- •Оператор выбора Select Case
- •Циклы с заданным количеством повторений For
- •Цикл For … Next
- •Вложенные циклы For … Next
- •Циклы с логическим управлением повторениями While и Do
- •Цикл While … Wend (цикл с предусловием)
- •Цикл Do While … Loop (цикл с предусловием)
- •Цикл Do … Loop While (цикл с постусловием)
- •Адресация ячеек
- •Список использованной литературы
-
Встроенные функции vba
В VBA имеется большой набор встроенных функций и процедур, использование которых существенно упрощает программирование. Эти функции можно разделить на следующие основные категории:
-
Математические функции
-
Функции проверки типов
-
Функции преобразования типов и форматов
-
Функции обработки строк
-
Функции времени и даты
Ниже рассмотрены основные функции из этих категорий.
-
Математические функции
В VBA имеется большой список математических функций, позволяющих произвести любые вычисления:
|
Функция |
Возвращаемое значение |
|
Abs (число) |
Модуль (абсолютная величина) |
|
Atn (число) |
Арктангенс |
|
Cos (число) |
Косинус |
|
Exp (число) |
Экспонента, т. е. результат возведения основания натурального логарифма в указанную степень |
|
Log (число) |
Натуральный логарифм |
|
Rnd (число) |
Случайное число из интервала [0,1). Если число меньше нуля, то Rnd возвращает каждый раз одно и то же число, используя аргумент в качестве опорного числа; если число больше нуля или аргумент опущен, то — следующее случайное число в последовательности; если число равняется нулю, то — случайное число, возвращенное при предыдущем вызове этой функции. Перед вызовом функции Rnd используйте инструкцию Randomize без аргумента |
|
Sgn (число) |
Знак числа |
|
Sin (число) |
Синус |
|
Sqr (число) |
Квадратный корень из числа |
|
Tan (число) |
Тангенс |
-
Функции проверки типов
Функции проверки типов проверяют, является ли переменная выражением специфицированного типа. Например:
|
Функция |
Проверка |
|
IsNull(переменная) |
Является ли переменная пустым значением (Null) |
-
Функции преобразования типов
Преобразование строки в число и обратно осуществляют следующими функциями:
|
Функция |
Возвращаемое значение |
|
Val (строка)
|
Возвращает числа, содержащиеся в строке, как числовое значение соответствующего типа |
|
Str (число)
|
Возвращает значение типа variant (string), являющееся строковым представлением числа |
|
Chr (число) |
преобразует числовой код в соответствующий ему символ. |
-
Функции обработки строк
В VBA имеются следующие основные функции обработки строковых выражений:
|
Функция |
Возвращаемое выражение |
|
Lcase |
Преобразует строку к нижнему регистру. Синтаксис: Lcase(Строка) |
|
Ucase |
Преобразует строку к верхнему регистру. Синтаксис: Ucase(Строка) |
|
Left |
Возвращает подстроку, состоящую из заданного числа первых символов исходной строки. Синтаксис: Left(string, length) Аргументы:
|
|
Right |
Возвращает строку, состоящую из заданного числа последних символов исходной строки. Синтаксис: Right(string, length) Аргументы:
|
|
Mid |
Возвращает подстроку строки, содержащую указанное число символов Синтаксис: Mid(string, start [, length]) Аргументы:
|
|
Len |
Возвращает количество символов строки. Синтаксис: Len(Строка) |
|
LTrim |
Возвращает копию строки без пробелов в начале Синтаксис: LTrim(Строка) |
|
Rtrim |
Возвращает копию строки без пробелов в конце. Синтаксис: RTrimfСтрока) |
|
Trim |
Возвращает копию строки без пробелов в начале и в конце Синтаксис: Trim(Строка) |
|
Space |
Возвращает строку, состоящую из указанного числа пробелов. Синтаксис: Space(Число) |
|
String |
Возвращает строку, состоящую из указанного числа повторений одного и того же символа. Синтаксис: String(number,character) Аргументы:
|
|
StrComp |
Возвращает результат сравнения двух строк. Синтаксис: StrComp(stringl, string2 [, compare]) Аргументы:
Возвращаемые значения:
|
|
InStr |
Возвращает позицию первого вхождения одной строки внутри другой строки. Синтаксис: InStr([start, ]string1, string2[, compare]) Аргументы:
|
