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

Типы данных

В VBA имеются все стандартные типы данных. Единственной особенностью является тип Variant. Если переменная объявлена без указания типа, ей будет присвоен тип Variant, который способен играть роль нескольких наиболее употребительных типов (строка, дата, целое и др.). Использование этого типа имеет два существенных недостатка: требует больше памяти и может привести к непредсказуемому поведению заданных по умолчанию значений, особенно для массивов.

Пользователь может объявить собственный тип данных как комбинацию переменных стандартных типов.

В таблице приведен список типов данных, имеющихся в языке.

Тип данных

Объем

памяти

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

Byte (байт)

1 байт

От 0 до 255.

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

2 байта

True или False

Integer (целое)

2 байта

От -32768 до 32767.

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

4 байта

От -2147483648 до 2147483647.

Single (с плавающей точкой обычной точности)

4 байта

От 1.401298Б-45 до 3.402823Е+38 для положительных значений;

от -3.402823Е+38 до -1.401298Е-45 для отрицательных значений.

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

8 байт

От -1,79769313486232E308 до

-4,94065645841247E-324 для отрицательных значений;

от 4,94065645841247E-324 до

1,79769313486232E308 для положительных значений.

Currency (число в денежном формате)

8 байт

До 15 цифр перед десятичной точкой и до 4 цифр после нее.

Decimal (десятичное число)

14 байт

До 29 значащих цифр.

Date (дата)

8 байт

От 1.01.100 до 31.12.9999.

Object (объект)

4 байта

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

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

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

От 0 до двух миллиардов символов.

String (строка фиксированной длины)

длина строки

От 1 до 65400 символов.

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

16 байт

Любое числовое значение.

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

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

Как у строк переменной длины.

Переменные

VBA накладывает следующие ограничения на имена переменных:

  • имя должно начинаться с буквы;

  • имя не может содержать пробел, точку, восклицательный знак и символы @, &, $, #;

  • имя не должно совпадать с другими именами или с зарезервированными словами VB;

  • имя должно содержать не более 255 символов.

Чтобы программа могла воспользоваться переменной, нужно ее объявить. При объявлении переменной указывается ее имя и тип. В качестве типа может выступать один из базовых типов или класс. Переменная, для которой в качестве типа указан класс, становится объектом (экземпляром) данного класса.

Явное объявление означает, что для определения переменной вы используете оператор:

Dim ИмяПеременной [As ИмяТипа] [,ИмяПеременной [As ИмяТипа]]

Начинается объявление с одного из зарезервированных слов, определяющих область видимости переменной (см. ниже). Вместо Dim можно использовать Private, Public или Static. Если не указать тип переменной, ей будет присвоен тип Variant. В одной строке можно объявить несколько переменных. Например:

Dim a As Integer, b As Integer, с As Long

Dim a, b, с As Integer

Dim e As Integer, f, g

В первой строке объявлены две переменные типа Integer и одна переменная типа Long. Во второй строке две первые переменные будут иметь тип Variant, а последняя – тип Integer. В третьей строке одна из переменных получит тип Integer, а две другие – тип Variant.

Неявное объявление переменной подразумевает, что переменные, используемые в программе, заранее не описываются. В этом случае VB считает, что переменная имеет тип Variant. Такая практика является источником ошибок и ее следует избегать. Чтобы VB расценивал необъявленную переменную как ошибочную, в раздел глобальных объявлений формы или модуля (в первую строку) нужно поместить оператор Option Explicit. VB может помещать туда этот оператор автоматически, если выполнить пункт меню Tools\Options\ вкладка Editor\флажок Require Variable Declaration.

Только явное описание переменных и наличие оператора Option Explicit позволяют обнаружить ошибки, связанные с опечатками в именах переменных.

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

Dim. Таким образом объявляют локальные переменные, которые существуют только во время вызова тех функций или процедур, где они объявлены. Если переменная с помощью Dim объявлена в разделе глобальных объявлений модуля или формы, то она будет доступна для всех процедур модуля. Но для кода других модулей или форм такая переменная все равно будет «невидимой».

Private. Отличается от Dim тем, что не может объявлять переменные внутри процедуры или функции, при объявлении же в разделе глобальных объявлений модуля Dim и Private равнозначны.

Public. Объявленная таким образом переменная является глобальной на уровне приложения и доступна из всех модулей и форм проекта. Если переменная объявлена в разделе глобальных объявлений программного модуля, то доступ к ней возможен просто через ее имя. Если переменная объявлена как Public в коде формы, то из других форм и модулей доступ к ней должен осуществляться через конструкцию ИмяФормы.ИмяПеременной.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]