- •Мурманский государственный гуманитарный университет
- •Функции преобразования типов данных
- •Основные математические функции в vb:
- •GoTo метка
- •If условие Then оператор
- •If условие Then GoTo метка
- •If условие Then
- •If условие Then
- •If условие Then
- •If условие1 Then
- •IIf (условие, выражение1, выражение2)
- •If условие Then Exit For
- •Input(количество, номер)
- •Понятие макроса Excel. Два метода разработки макросов.
Мурманский государственный гуманитарный университет
С.Н. Зятикова
Учебно-методическое пособие
по курсу
«Visual Basic for applications»
Содержание
Пункт 1. Введение в VBA. Элементы среды разработки программ VB. Переменные. Две основные функции преобразования типов данных. Константы. Синтаксис оператора присваивания……….………………………………………….. |
3 |
Пункт 2. Арифметические выражения. Математические функции. Логические выражения………………………….…………….. |
6 |
Пункт 3. Оператор перехода. Конструкция принятия решений………………………………...................................................... |
8 |
Пункт 4. Циклы……………….……………………………………………… |
11 |
Пункт 5. Массивы……………………………………………………………. |
13 |
Пункт 6. Пользовательские процедуры……………………………….. |
16 |
Пункт 7. Использование стандартных окон операционной системы WINDOWS…………………………………………………………... |
19 |
Пункт 8. Работа со строками…...................................................... |
20 |
Пункт 9. Работа с текстовыми файлами…………………..……….. |
22 |
Пункт 10. Загрузка формы. Макросы………………………………….. |
27 |
Пункт 11. Объекты и события………………………………………….. |
29 |
Visual Basic for Applications (VBA)
Пункт 1. Введение в VBA. Элементы среды разработки программ VB. Переменные. Две основные функции преобразования типов данных. Константы. Синтаксис оператора присваивания.
Решение какой-либо задачи с помощью компьютера требует ввода в него последовательности команд, которая называется программой. Программы пишутся на том или ином алгоритмическом языке. К настоящему времени разработано множество алгоритмических языков: Pascal, Object Pascal, C, C++, Basic и др.
Мы будем изучать Visual Basic (VB). Выбор языка объясняется тем, что VB используется в популярном пакете Microsoft Office. При работе с офисными приложениями мы будем использовать язык Visual Basic for Applications (VBA), являющийся расширением VB. VBA-код позволяет расширить возможности таких приложений, улучшить пользовательский интерфейс.
Для входа в среду VB надо в Excel выполнить Сервис > Макрос > Редактор VB. В результате откроется окно Microsoft VB, в котором можно выполнять различные действия: ввод и редактирование текста программы, ее отладку и выполнение.
Основные элементы среды VB:
-
строка меню. В ее состав входят все меню, которые используются при создании программы.
-
контекстное меню. Служит для удобства выполнения действий, относящихся к той области окна среды VB, в которой находится указатель мыши.
-
панели инструментов: Standart, Edit, Debug и др. По умолчанию отображается только стандартная панель инструментов Standart.
В окне кода набирается текст программы. Первая и последняя строки программы стандартные
Sub имя ( )
End Sub
Между первой и последней строками набираются остальные строки программы. Ввод строки оканчивается нажатием клавиши Enter.
Например, расчет длины гипотенузы прямоугольного треугольника с катетами 3 и 4 по теореме Пифагора.
Sub Пифагор ( )
a = 3
b = 4
c = Sqr (a ^ 2 + b ^ 2)
End Sub
Sqr – операция извлечения квадратного корня.
Если для наглядности оператор следует разместить на нескольких строках, то для переноса следует использовать символ пробела с последующим символом _. Если несколько операторов следует разместить на одной строке, то между ними надо поставить двоеточие и символ пробела. Комментарии обозначаются апострофом.
Например,
Sub Пифагор ( )
a = 3 : b = 4
c = _
Sqr (a ^ 2 + b ^ 2) ‘согласно теореме Пифагора
End Sub
Перед тем, как использовать переменную, ее рекомендуется описать (объявить).
Синтаксис оператора описания переменной:
Dim переменная [As тип]
В этой конструкции:
-
Dim – ключевое слово, свидетельствующее о том, что объявляется переменная (dimension - размер);
-
As – ключевое слово, используемое при задании типа данных (as - как);
-
Переменная – имя объявляемой переменной;
-
Тип – тип данных для объявляемой переменной.
Одним оператором Dim можно описать несколько переменных, перечислив их через запятую, например,
Dim a, b, c
Если в окне кода отсутствует строка
Option Explicit
то переменные в VB можно не описывать.
Однако часто это приводит к ошибкам в программе, которые трудно «вылавливать». Поэтому рекомендуется среду настроить так, чтобы она требовала описания переменных. Для этого надо:
-
в среде VB открыть меню Tools (Сервис);
-
выбрать пункт Options (Параметры);
-
открыть вкладку Editor (Редактор);
-
включить опцию Require Variable Declaration (Явное описание переменных), поставив галочку;
-
нажать Ok.
В результате в окне кода первой будет строка вида
Option Explicit
Если при описании переменной не указан тип данных, то переменной автоматически будет присвоен тип Variant.
Рассмотрим оператор
Dim i, j As Integer
Этот оператор эквивалентен следующему:
Dim i As Variant, j As Integer
Если мы хотим, чтобы обе переменные имели тип Integer, то должны их описать так:
Dim i As Integer, j As Integer
или
Dim i As Integer
Dim j As Integer
Пример. Программа расчета количества дней в 20 веке и определения текущей даты и времени.
Sub Век_20()
Dim d1 As Date
Dim d2 As Date
Dim n As Long
d1 = #1/1/1900# 'начало века
d2 = #12/31/1999# 'конец века
n = d2 - d1 + 1 'количество дней
d1 = Now 'текущая дата и время
End Sub
Часто бывает необходимо преобразовать число в строку. Для этого используется функция Str. Аргументом этой функции является число, значением – строка. Для обратного преобразования (то есть строки в число) используется функция Val. Если функция Val этого сделать не может, то она возвращает 0.
Наряду с переменными в VB используются константы. Существует 2 разновидности констант: пользовательские и встроенные.
Пользовательские константы требуют объявления. Для этого используется оператор вида
Const константа [As тип] = значение
Примеры объявления констант:
Const pi As Currency = 3.1416
Const Message = “Завершение работы”
Const Millennium As Date = #1 Jan 2000#
При помощи одного оператора Const можно объявить несколько констант, перечислив их через запятую.
Пример:
Const Min = 0, Max = 1000, Flag As Boolean = False
Встроенные константы не требуют объявления.
Имена встроенных констант начинаются с префикса vb, например, vbFriday (число 6; Friday - пятница).
Встроенные константы Excel имеют префикс xl.
Оператор присваивания имеет следующий синтаксис:
переменная = выражение
При выполнении оператора присваивания может происходить преобразование типа данных.
Пункт 2. Арифметические выражения. Математические функции. Логические выражения.
В числе дробная часть от целой отделяется точкой. Существует экспоненциальная форма представления чисел. Например, десятичное число 0.095 = 9.5 10-2 может быть записано в виде 9.5Е-2.
Примеры выражений
Математическое выражение |
Арифметическое выражение VB |
|
5 * x + 12 * y |
|
x / y |
|
y ^ x |
|
x |
|
19.55E-6 |
Арифметические операции: + (сложение), - (вычитание), * (умножение), / (деление), ^ (возведение в степень), \ (целочисленное деление, то есть деление целых чисел с отбрасыванием остатка), Mod (определение остатка от деления целых чисел, являющегося целым числом).
Приоритет выполнения операций:
-
возведение в степень (^);
-
умножение, деления (*, /, \)
-
определение остатка от деления (Mod);
-
сложение и вычитание (+, -)
Если тип переменной в левой части оператора присваивания не совпадает с типом, полученным при вычислении значения выражения в правой части оператора присваивания, то при выполнении оператора присваивания производится преобразование типа. Так, при Integer слева и Double справа производится округление результата до целого.
Операции \ и Mod применимы только к целым числам. Результаты выполнения этих операций так же являются целыми числами.