Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование в Excel.doc
Скачиваний:
21
Добавлен:
03.05.2019
Размер:
1.48 Mб
Скачать

1.2. Переменные, константы и типы данных

В Visual Basic, как и во всех языках программирования высокого уровня, для хранения значений используются переменные и константы. Переменные могут содержать данные любых поддерживаемых типов.

1.2.1. Типы данных в Visual Basic

Фундаментальные типы данных, поддерживаемые Visual Basic:

Тип данных

Описание

Диапазон

1

2

3

Byte

1-байтовое двоичное число

от 0 до 255

Integer

2-байтовое целое

от -32 768 до 32 767

Long

4-байтовое целое

от -2 147 483 648 до 2 147 483 647

Single

4-байтовое число с плавающей точкой

от-3.402823Е38до-1.401298Е-45 (отрицательные значения) от 1.401298Е-45 до 3.402823Е38 (положительные значения)

Double

8-байтовое число с плавающей точкой

От -1.79769313486231Е308 до -4.94065645841247Е-324 (отрицательные значения) от 4.94065645841247E-324 до 1.79769313486231Е308 (положительные значения)

Currency

8-байтовое число с фиксированной десятичной точкой

от –922 337 203 685 477.5808 до 922 337 203 685 477.5807

String

строка символов

от нуля до почти двух миллиардов символов

Variant

дата/время, число с плавающей точкой, целое, строка или объект; занимает 16 байтов плюс по 1 байту на каждый символ, если значе-нием является строка

даты: от 1 января 100 года до 31 декабря 9999 года числовые значения: тот же диапазон, что и для Double строки: тот же диапазон, что и для String позволяет также хранить значения Error или Null

Boolean

2 байта

True или False

Date

8-байтовое значение даты/времени

от 1 января 100 года до 31 декабря 9999 года

Object

4 байта

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

1.2.2. Объявление константы, переменной или массива

Константа, используемая вместо литерала, объявляется оператором Const. При этом можно указать ее тип, область действия и присвоить ей значение:

Const MyVar = 459 Public Const MyString = "HELP" Private Const Mylnt As Integer = 5 Const MyStr = “Hello”, MyDouble As Double = 3.6547

По умолчанию константа считается закрытой. Если при объявлении константы тип данных явно не указан. Visual Basic назначает ей тип, который соответствует выражению, присвоенному константе. Подробнее на эту тему см. описание операторов Const, Public, Private и As в справочной системе.

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

Private I Dim Amt Static YourName As String Public BillsPaid As Currency Private YourName As String, BillsPaid As Currency Private Test. Amount, J As Integer

Если переменная не объявлена статической, ее значение после выполнения процедуры не сохраняется, и занятая ею память освобождается. По умолчанию Visual Basic присваивает переменным тип Variant.

Объявление массива аналогично объявлению переменной; при этом тоже используются ключевые слова Dim, Public, Private или Static. Верхние и нижние границы каждой размерности определяются целочисленными значениями, а тип элементов массива задается с помощью ключевого слова As. Прежде чем задействовать массив, Вы должны явно объявить его — неявное объявление массива недопустимо.

Объявляя массив, Вы определяете верхнюю и нижнюю границы каждой размерности в круглых скобках за именем массива. Если Вы указали только одно значение, оно считается верхней границей, а для нижней подставляется значение по умолчанию. Последнее значение равно 0, если только Вы не приравняли его единице оператором Option Base. Приведенные ниже операторы объявляют одномерные массивы, содержащие 15 и 21 элемент соответственно:

Dim counters(14) As Integer Dim sums(20) As Double

Разумеется, нижнюю границу можно задать явно. При этом значения верхней и нижней границы разделяются ключевым словом То:

Dim counters(1 То 15) As Integer Dim sums(100 To 120) As String

Здесь индекс counters изменяется от 1 до 15, а индекс sums — от 100 до 120.

Чтобы получить значения нижней и верхней границы уже существующего массива, воспользуйтесь функциями LBound и UBound.

Число размерностей массива может достигать 60. Для примера объявим трехмерный массив, у которого первая размерность равна 4, вторая — 10, а третья — 15. Общее число элементов массива равно произведению его размерностей, т. е. 600.

Dim multiD( 1 to 4, 1 to 10, 1 to 15)

Динамический массив объявляется так же, как и фиксированный, но без указания размерностей в скобках после имени массива:

Dim dynArray() As Integer

А затем где-то в процедуре Вы определяете нужное число элементов массива оператором ReDim:

ReDim DynArray(X+1)

Ключевое слово Preserve позволяет изменять размер массива без потери его текущего содержимого. Например, чтобы увеличить размер массива на один элемент без потери значений существующих элементов, сделайте так:

ReDim Preserve myArray(UBound(myArray) + 1)

Подробнее на эту тему см. описание оператора ReDim в справочной системе.