Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1к 1семестр / INFORMATIKA / Lekcii / Лекции / ЛЕКЦИЯ_13_Программирование на языке Visual Basic for Applicatin.doc
Скачиваний:
96
Добавлен:
02.04.2015
Размер:
1.12 Mб
Скачать

266Лекция 13. Язык программирования Visual Basic for Application (vba)

Лекция 13. Язык программирования Visual Basic for Application (vba)

Изучение языка программирования VBA следует начинать со знакомства с основными элементами языка. Программные модули VBA состоят из процедур и функций, которые включают инструкции (команды) различного типа, объявления переменных, описания типов данных, значения констант, объекты VBA и т.п.

Типы данных

VBA обрабатывает данные различных типов, форматы данных приведены в табл. 1. Тип данных указывается при объявлении переменных, массивов, пользовательских типов данных. С помощью встроенных функций VBA выполняется преобразование типов данных.

Таблица 13.1

Тип

Значение и длина типа данных

Функция

Boolean

Логическое True (истина, -1), False (ложь, 0), 2 байта

CBool

Currency

Числовое значений, денежный формат с фиксированным количеством знаков после десятичной запятой, 8 байтов

CCur

Date

Дата/время, 8 байтов

CDate

Double

Числовое значение, плавающая точка, двойная точность, 8 байтов

CDbl

Integer

Числовое значение, короткое целое, 2 байта

CInt

Long

Числовое значение, длинное целое, 4 байта

CLng

Single

Числовое значение, плавающая точка, обычная точность, 4 байта

CSng

Decimal

Числовое значение, до 28 значащих цифр, 14 байт

CDec

String

Строковые значения, 1 символ занимает 1 байт

CStr

Byte

Целое число от 0 до 255, отдельные символы, 1 байт

CByte

Variant

Универсальный тип данных, 16 байтов плюс по 1 байту на каждый символ строковых данных

CVar

Object

Ссылка на объекты, 4 байта

Переменные — именованные области памяти для временного хранения значений выражений или свойств объектов. В VBA используется два режима объявления переменных:

  • необязательное объявление (по умолчанию все переменные имеют тип Variant);

  • обязательное объявление — в начале программного модуля размещается оператор Option Explicit и оператор Dim объявления переменных.

Для переменных различается область действия:

  • процедура — используются личные переменные, которые действительны только внутри процедуры:

Dim имя As тип

Private имя As тип

Для сохранения значения переменной при выходе из процедуры и ее повторного использования указывается

Static имя_переменной As тип

  • модуль — переменные используются всеми процедурами данного модуля:

Dim имя As тип

  • проект — общие переменные используются всеми процедурами любых модулей проекта:

Public имя As тип

Можно объявлять несколько переменных в одном предложении, указав для каждой переменной тип. Если тип данных не указан, считается, что он соответствует Variant. Например, для переменной Z по умолчанию тип Variant:

Dim X As Integer, Y As String, Z

Массив переменных содержит элементы, которые идентифицируются с помощью имени массива и индекса (порядкового номера элемента). Размерность массива может достигать 60. По умолчанию индексы массива начинаются с 0, верхние и нижние границы каждой размерности определяются целочисленными значениями1.

При объявлении массивов различной сферы действия используются ключевые слова Dim, Public, Private и Static. Тип элементов массива задается с помощью ключевого слова As:

Dim имя_массива (размер1, …, размер n) As тип

Пример 1

Определить двумерный массив (матрицу), 10 строк и 10 столбцов целых чисел.

Dim MyArray(9, 9) As Integer

В VBA можно использовать динамические массивы, верхняя граница размерности которых может многократно изменяться, например:

Dim Arr1() As Single

Для очередного изменения размерности массива выполняется инструкция:

ReDim Arr1(10)

Для расширения состава типов данных служит пользовательский тип данных, в одну структуру включаются разнородные элементы информации:

[Private|Public] Type имя_типа

имя_элемента1 [([индексы])] As тип

имя_элемента2 [([индексы])] As тип

End Type

Для присвоения значения элементам пользовательских типов данных используется выражение вида:

имя_типа.имя_элемента = <значение>

Присвоение переменной пользовательского типа данных выполняется с помощью инструкций:

Dim имя As имя_типа

или

Dim имя_массива (размер) As имя_типа

Пример 2

Создать пользовательский тип данных State, содержащий:

  • статический массив — Code, состоящий из 10 целых чисел;

  • строковую переменную — Cnty фиксированной длины в 30 символов.

На основе типа данных State определить массив ExState размерностью 50 элементов.

Фрагмент программного кода:

Type State

Code (1 To 10) As Integer

Cnty As String * 30

End Type

Dim ExState (1 To 50) As State