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

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 * <длина строки>

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

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

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

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

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

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

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

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

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

Синтаксис:

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

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

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

Option Base 1

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

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

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

Пример: Dim A() As Variant

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

Пример: ReDim A(20)