Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
пособие_по_VBA.doc
Скачиваний:
1
Добавлен:
15.11.2018
Размер:
243.2 Кб
Скачать

Мурманский государственный гуманитарный университет

С.Н. Зятикова

Учебно-методическое пособие

по курсу

«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:

  1. строка меню. В ее состав входят все меню, которые используются при создании программы.

  2. контекстное меню. Служит для удобства выполнения действий, относящихся к той области окна среды VB, в которой находится указатель мыши.

  3. панели инструментов: 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 можно не описывать.

Однако часто это приводит к ошибкам в программе, которые трудно «вылавливать». Поэтому рекомендуется среду настроить так, чтобы она требовала описания переменных. Для этого надо:

  1. в среде VB открыть меню Tools (Сервис);

  2. выбрать пункт Options (Параметры);

  3. открыть вкладку Editor (Редактор);

  4. включить опцию Require Variable Declaration (Явное описание переменных), поставив галочку;

  5. нажать 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 (определение остатка от деления целых чисел, являющегося целым числом).

Приоритет выполнения операций:

  1. возведение в степень (^);

  2. умножение, деления (*, /, \)

  3. определение остатка от деления (Mod);

  4. сложение и вычитание (+, -)

Если тип переменной в левой части оператора присваивания не совпадает с типом, полученным при вычислении значения выражения в правой части оператора присваивания, то при выполнении оператора присваивания производится преобразование типа. Так, при Integer слева и Double справа производится округление результата до целого.

Операции \ и Mod применимы только к целым числам. Результаты выполнения этих операций так же являются целыми числами.