Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Для заочников (алгор-ия и VBA).doc
Скачиваний:
38
Добавлен:
19.05.2015
Размер:
149.5 Кб
Скачать

2. Типы данных в языке vba

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

К простым типамотносятся: целый, вещественный, логический.

К структурированным типамотносятся: дата; массив; строка; тип, определяемый пользователем.

В таблице 3 приведены названия, обозначения, размер памяти в байтах (занимаемый значением этого типа), а также диапазоны допустимых значений для простых типов данных языка VBAи типовVariant,ObjectиString.

Целый типданных вVBAпредставлен тремя подтипами:Byte,Integer,Long.

Вещественный тип имеет 4 подтипа: Single, Double, Currency, Decimal.

Логический типобозначается какBoolean.

Таблица 3.

Тип данных

Размер памяти (байты)

Диапазон значений

Byte (байтовый)

1

От 0 до 255

Integer(целый)

2

От -32768 до 32767

Long(длинное целое)

4

От -2147483648 до 2147483647

Boolean(логический)

2

True, False

Single(число с плавающей запятой одинарной точности)

4

От -3,4E+38 до -1,4E-45 и

от 1,4E-45 до 3,4E+38

Double(число с плавающей запятой двойной точности)

8

От -1,8E+308 до -4,9E-324 и

от 4,9E-324 до 1,8E+308

Currency(денежный)

8

От -922337203685477,5808

до 922337203685477,5807

Decimal(число с фиксированной запятой)

14

От

-79228162514264337593543950335

до

79228162514264337593543950335

для целых чисел;

от

-7,9228162514264337593543950335

до

7,9228162514264337593543950335

для чисел с фиксированной запятой (28 знаков после десятичной точки)

Object(объект)

4

Любой указатель объекта

String(строка переменной длины)

10+длина строки

От 0 до 2 миллиардов

String(строка постоянной длины)

Длина строки

От 0 до ≈ 65400

Variant(числовые подтипы)

16

Любое числовое значение вплоть до границ Double

Variant(строковые подтипы)

22+длина строки

Как для строки (String)

переменной длины

Date(дата)

8

January 1.100 – December 31.9999

т.е. 01.01.0100 – 31.12.9999

Тип данных Строка (String). Строковый тип данных позволяет хранить последовательности символов – строки, которые могут быть постоянной и переменной длины. Строки постоянной (фиксированной) длины – это строки, длины которых ограничены. Они описываются с помощью оператораDim, согласно следующему синтаксису:

Синтаксис:Dim <идентификатор> As String * <длина строки>

Пример:DimSAsString*10 – описание переменнойSкак строки с максимальной длиной 10 символов.

В значении типа строка символов могут присутствовать любые символы кодовой таблицы ЭВМ (в том числе русские буквы и т.д.). Строковые значения в программе должны записываться в кавычках.

В VBAдля строк может использоваться операция «конкатенация», которая позволяет объединять несколько строк в одну. Она обозначается либо знаком+, либо&.

Пример:S= ”Иванов”

F=S+ ” ” + ”Иван”

В результате строковая переменная Fпримет значение ”Иванов Иван”.

Тип данных Variant. Данный тип является особенностьюVBA(отсутствует в классическом Бейсике). Переменная типаVariantможет содержать данные любого типа. Если для переменной не объявлен тип данных, то по умолчанию используется тип данныхVariant.

Переменная, описанная типом Variant, фактически может в одной и той же программе принимать значения разного типа, и это не будет являться ошибкой.

Тип данных Массив. ВVBAмогут использоваться массивы двух типов:статическиеидинамические. Границыстатического массивазадаются в программе заранее с помощью оператораDim.

Синтаксис:

Dim <идентификатор>(<номер последнего элемента>) As <тип эл-тов>

Пример:DimX(100)AsInteger- описание одномерного массива, состоящего из 100 целых чисел.

В VBA, как и в классическом Бейсике, индексирование массива по умолчанию начинается с нуля, т.е. индекс 0 обозначает первый элемент массива, индекс 1 – второй и т.д. Чтобы задать нумерацию элементов массива с 1, необходимо использовать оператор:

Option Base 1

С помощью оператора Dimможно описывать также многомерные массивы (имеющие более одного индекса).

Пример:DimY(10,12)AsDouble– описание двумерного массива вещественных чисел двойной точности, который представляет собой матрицу из 10 строк и 12 столбцов.

Динамический массивиспользуется в том случае, когда размер массива заранее неизвестен. Для его описания также используется операторDim, в котором не задаются границы массива, а тип элементов определяется какVariant.

Пример:DimA()AsVariant

Далее в программе, когда станет известен размер массива, может быть задан его фактический размер с помощью оператора ReDim.

Пример:ReDimA(20)