Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Типы данных в VBA






Тип данных определяет важнейшие свойства переменной. А именно, следующее:

· что может храниться в переменной (текст, число, некоторые другие виды данных);

· размер памяти, необходимый для хранения переменной (измеряется в байтах);

· операции, которые можно производить с переменной (например, невозможно извлечь квадратный корень из слова " Привет" так как эта операция не определена для строковых данных);

Вы уже можете предположить как минимум два типа данных, которые могут хранить переменные — строковые и числовые. На самом деле список типов данных VBA гораздо обширнее.

В табл. 5.1. вы найдете информацию об основных типах данных VBA.

Таблица 5.1. Типы данных в VBA
Тип данных Размер, байт Описание Диапазон значений
Variant 16 (числа) 22+длина строки (строки) Может хранить данные любых типов  
Integer   Целое число от -32768 до 32767
Long   Длинное целое от -2147483648 до 2147483647
Single   Число с плавающей запятой Для отрицательных: от -3.402823E38 до -1.401298E-45 Для положительных: от 1.401298E-45 до 3.402823E38
Double   Число с плавающей запятой двойной точности, для отрицательных значений и для положительных Для отрицательных от -1.79769313486231E308 до -4.94065645841247E-324 Для положительных: от 4.94065645841247E-324 до 1.79769313486232E308
Byte   Байт от 0 до 255
Currency   Денежный формат от -922, 337, 203, 685, 477.5808 до 922, 337, 203, 685, 477.5807
Decimal   Масштабируемое целое 29-значное число с 28 знаками справа от запятой
Boolean   Логический True или False
Date   Дата и время от 1 января 100 г. до 31 декабря 9999 г.
Object   Ссылка на объект Различные виды объектов
String Зависит от длины строки Строка  

Как видите, в VBA существует немало типов данных. Наверное, сейчас вам кажется, что их слишком много. Может показаться, что нет ничего удобнее типа данных Variant. Однако надо учесть, что за универсальность типа Variant приходится платить производительностью и системными ресурсами. Чем больше места требуется для хранения переменной — тем ниже скорость работы с ней.

Если вы хотите, чтобы ваши программы работали как можно быстрее — выбирайте типы данных, которые используют для хранения вашей информации минимум системных ресурсов. Если вы сомневаетесь, хватит ли размерности выбранного типа данных для решения ваших задач — возьмите более емкий тип.

Как правило, для работы с дробными числами и различных вычислений используют тип данных Double. Для переменных, которые используются в циклах, счетчиках — Integer или Long. В работе со строками используют String. Объектные переменные имеют самые разные типы, которые определяются объектами, для обращения к которым они создаются. В небольших проектах вполне оправдано использование переменных типа Variant – это не слишком замедлит работу. Однако, если размер проекта растет или вы нуждаетесь в ускорении ресурсоемких вычислений – подходите к выбору типов данных ответственно.

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

Выше мы уже говорили о венгерской нотации как о способе именования объектов. Те же правила действуют и для переменных. Префикс имени обычно говорит о типе переменной. В табл. 5.2. приведены некоторые префиксы.

Таблица 5.2. Префиксы и типы переменных
Префикс имени переменной Пояснения
s, str Строковая переменная
n, num Числовая переменная (существует множество числовых типов данных, название каждого из которых может быть использовано в качестве префикса, например, int для Integer, dbl для Double и т.д.)
b, bool Логическая переменная
O, obj Объектная переменная

Для работы с переменными можно использовать два подхода. При первом мы выбираем имя переменной и используем ее в программе без каких-либо подготовительных действий. Именно так мы работали с переменной в примере к п. 5.2. Такая переменная приобретет тип Variant. Второй подход предусматривает объявление переменных перед использованием.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.