- •Программирование на языке vba Учебное пособие
- •Глава 1. Программы и их реализация. Введение в vba
- •Подготовка задач к решению на эвм
- •А а Блок ввода – вывода
- •1.3. Языки программирования и их реализация
- •1.4. Основы возникновения и использования языка vba
- •Глава 2. Основные принципы работы с vba
- •2.1. Алфавит vba
- •Разработка пользовательской формы и элементов управления
- •Процедуры Sub
- •2.1.1. Данные
- •Константы
- •2.1.2. Знаки операций
- •2.2. Основные операторы языка
- •2.2.1. Оператор описания переменных
- •2.2.2. Оператор присваивания
- •2.2.3. Операторы ввода данных
- •InputBox(“Сообщение”).
- •2.2.4. Операторы вывода данных
- •MsgBox (Список аргументов)
- •2.3. Линейные процессы
- •Программный код
- •2.4.1. Оператор условного перехода
- •If Условие Then Оператор 1 Else Оператор 2
- •2.4.2. Оператор выбора Select Case
- •2.5. Циклические процессы
- •2.5.1. Оператор цикла с параметром For – Next
- •2.5.2. Оператор цикла While – Wend
- •2.5.3. Оператор цикла Do – Loop
- •2.6. Работа с массивами
- •2.6.1. Вычисления в одномерных массивах
- •Пример: a(I), b(j).
- •Объявление массива
- •Ввод массива
- •Вывод массива
- •Вычисление суммы, произведения и количества элементов в одномерном массиве
- •Вычисление минимального и максимального элементов в одномерных массивах
- •Сортировка элементов одномерного массива методом “пузырька”
- •Удаление одного элемента из одномерного массива
- •Удаление из массива группы элементов
- •Вставка одного элемента в массив
- •Вставка группы элементов в массив
- •2.6.2. Вычисления в двумерных массивах
- •Ввод двумерного массива
- •Вывод двумерного массива
- •Формирование матрицы
- •Вычисление суммы, произведения, количества, минимума и максимума в двумерных массивах
- •Построчное вычисление в матрице
- •2.7. Пользовательский тип данных и формы пользователя
- •2.7.1. Пользовательский тип данных
- •Значение Оператор присоединения
- •2.7.2. Формы пользователя
- •Список использованной литературы
- •Оглавление
- •Глава 1. Программы и их реализация. Введение в vba. ………...3
- •Глава 2. Основные принципы работы с vba…………………...…16
Процедуры Sub
Процедура Sub имеет следующий синтаксис:
[Public] [Private] Sub имяПроцедуры (аргументы)
операторы
End Sub
Процедуры Sub подразделяются на общие процедуры и процедуры событий.
Рассмотрим подробно составляющие ключевые слова процедуры.
Ключевые слова [Public] [Private] определяют область действия (видимости) процедуры.
Область действия процедуры | |
Глобальная[Public] |
Во всех процедурах приложения |
Локальная внутри модуля[Private] |
Только внутри модуля, в котором объявлена |
Локальная внутри процедуры[Private] |
Только внутри процедуры, в которой объявлена |
[Public] – любая переменная из раздела объявлений является глобальной, т.е. доступной в любой процедуре модуля, если внутри процедуры нет переменной с таким же именем. В этом случае любой компонент проекта доступен в пределах всего проекта.
[Private] – ограничивает область видимости компонента пределами данного модуля.
Выбор создания глобальной или локальной процедуры можно выполнить на этапе ее создания (рис. 8, а).
В случае создания общей процедуры (рис. 8, а) имяПроцедуры это любое правильно записанное имя, например, Summa. Вызов общей процедуры осуществляется с помощью оператора Call: Call Summa (аргумент1, аргумент2, ...аргументN). Второй способ позволяет вызвать процедуру sub по ее имени. Например, NameProc аргумент1, аргумент2, ...аргументN.
Если процедура создается через созданную форму (рис.8, б), то эта процедура является процедурой событий. В этом случае ИмяПроцедуры, например, CommandButton1_Click, представляет собой имяЭлементаУправления_имяСобытия, т.е. указывает на используемый элемент управления формы и на событие, которое запускает эту процедуру (в данном случае – нажатие кнопки).
Параметр аргументы применяется для объявления передаваемых в процедуру переменных.
Private Sub Summa (a, b)
Summa = a + b
End Sub
Как и любой язык программирования, VBA имеет свой алфавит, т.е. набор символов, из которых составляются данные и предложения.
К основным символам языка относятся:
прописные и строчные буквы латинского алфавита от А до Z, буквы русского алфавита от А до Я;
арабские цифры от 0 до 9;
специальные символы:
% процент, ( ) круглые скобки, ! восклицательный знак, ? вопросительный знак, , запятая, ; точка с запятой, . точка, : двоеточие, ′ апостроф, « кавычки, - тире, __ пробел, [ ] квадратные скобки, $ знак денежной единицы, ¤ знак символьной переменной.
2.1.1. Данные
Данные – элементарные конструкции языка. Они делятся на следующие группы:
константы;
переменные;
массивы;
указатели функций.
Константы делятся:
Константы
Числовые Символьные
Целый тип Вещественный тип
Основная константа Константа с порядком
Числовые константы – это любые десятичные числа в интервале от – 3,4 * 10 38 до 3,4 * 1038.
Различают числовые константы следующих типов:
целый;
вещественный.
Константы целого типа – это последовательность десятичных цифр, перед которой может стоять знак « + » или « - » , причем знак «+ » можно опускать.
Пример: 123 123
- 36 - 36
0 0
Константы вещественного типа – допускают две формы записи:
а) основная вещественная константа – десятичное число со знаком или без знака, в котором дробная часть от целого отделяется «плавающей точкой».
б) вещественная константа с порядком состоит из мантиссы, основания системы счисления и порядка.
Основание десятичной системы счисления записывается буквой Е (экспоненциальная форма числа).
Пример: - 3,1 * 10 2 - 3,1 Е + Ø2
5,98 * 10-3 5,98 Е – Ø3
Символьные константы – это последовательность любых символов языка, заключенных в кавычки. В VBA такие константы называются строками.
ПРИМЕР: «Москва», «3,45».
Переменные.
Переменные – это величины, значения которых могут меняться в процессе выполнения программы.
Переменные характеризуются:
именем,
типом.
Имена переменных выбираются по следующим правилам:
имена должны начинаться с буквы, но не с цифры;
в имени допускается знак подчеркивания, все остальные знаки запрещены;
не допускается, чтобы имена имели пробелы;
длина имени не должна превышать 255 символов;
имя не должно совпадать ни с каким ключевым словом, функцией или оператором VBA;
все процедуры и модули должны иметь разные имена.
Примеры допустимых и недопустимых имен переменных приведены в табл. 1.
Таблица 1. Примеры имен переменных
-
Допустимые имена
Недопустимые имена
A
Имя более 255 символов
Go4Ln
1p
SUMMA
P 1
P1
W?
S_1
Sub
В VBA прописные и строчные буквы не различаются, но введенные прописные буквы сохраняются.
ТИП переменной соответствует типу данных, которые она представляет. Основные типы данных в VBA рассмотрены в табл. 2.
Таблица 2. Типы данных VBA
Тип данных |
Содержимое переменной |
Диапазон допустимых значений |
Boolean |
Логический тип данных |
Истина (-1) или Ложь (0) |
Byte |
Достаточно малое целое число |
От 0 до 255 |
Integer |
Не слишком большое целое число |
От –32768 до 32767 |
Long |
Большое целое число |
От –2147483648 до 2147483647 |
Single |
Значение одинарной точности с плавающей запятой |
От –3,402823Е38 до –1,401298Е-45 для отрицательных значений и от 1,401298Е-45 до 3,402823Е38 для положительных значений |
Double |
Значение двойной точности с плавающей запятой |
От –1,79769313486231Е308 до 1,79769313486232Е308 |
Currency |
Большое число, для которого выделено 19 позиций, включая 4 позиции после запятой |
От –922337203685477,5808 до 922337203685477,5807 |
Object |
Объект VBA |
Ссылка на любой объект VBA, сохраняет адрес объекта в памяти |
String (переменной длины) |
Последовательность переменной длины, состоящая из длины строки + 10 байт |
Используется для хранения текста и может содержать от 0 до 2000000000 символов |
String (фиксированной длины) |
Последовательность заданной длины, состоящая из длины строки |
Используется для хранения текста от 0 до 65400 символов
|
Variant |
Любое из допустимых значе-ний |
Зависит от типа данных, содержащихся в переменной, в соответ-ствии с вышеприведенными описа-ниями |
Пользова-тельский Type |
Группа переменных, используемых вместе как единое целое |
|
Массивы.
Массив – это совокупность данных одного и того же типа, причем эти данные называются элементами массива или переменными с индексами.
Массивы характеризуются:
именем,
типом,
размерностью.
Имя и тип определяются аналогично имени и типу переменных.
Размерность массива определяется количеством индексов, определяющих номер элемента в массиве. Индексы записываются в скобках после имени массива и отделяются друг от друга запятыми.
Пример: Х2 Х(2)
УК У(К)
В1,2 В(1,2)
Указатели функций.
Указатель – функции является средством обращения к вычислению функции и имеет вид:
F (Х1, Х2,…Хn),
где F – имя функции;
Х1, Х2,…Хn – аргументы функции.
В VBA, как и в других приложениях Microsoft Office, есть встроенные математические функции. Эти функции можно использовать в арифметических выражениях для вычисления, например, целой части числа, модуля числа, синуса числа и др. Основные математические функции, используемые в VBA, приведены в табл. 3.
Таблица 3. Математические функции VBA
Функция |
Значение |
Abs(число) |
Абсолютное значение числа (модуль) |
Atn(число) |
Арктангенс числа |
Cos(число) |
Косинус числа |
Exp(число) |
Число e в степени, равной заданному числу (eх) |
Fix(число) |
Целая часть числа |
Окончание таблицы
Int(число) |
Целая часть числа. Функции Int и Fix по-разному действуют только на отрицательные числа: Int – возвращает ближайшее меньшее целое, а Fix – просто отбрасывает дробную часть числа |
Log(число) |
Натуральный логарифм числа, значение двойной точности |
Rnd(число) |
Генерация случайного числа, значение одинарной точности, аргумент является необязательным. |
Sgn(число) |
1, если число положительное, 0, если число равно нулю, и –1, если число отрицательное |
Sin(число) |
Синус числа |
Sqr(число) |
Квадратный корень из числа |
Tan(число) |
Тангенс числа |
pi |
|
х* pi/180 |
Перевод числа х, заданного в градусах, в радианы |
Log (число) /Log(10) |
Десятичный логарифм |
Арксинус числа х | |
Арккосинус числа х |