52953.fb2 VBA для чайников - читать онлайн бесплатно полную версию книги . Страница 34

VBA для чайников - читать онлайн бесплатно полную версию книги . Страница 34

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

Где объявлять переменные

Объявить переменную можно в двух частях программы:

* в разделе объявлений модуля (на уровне модуля).

* внутри любой процедуры (на уровне процедуры).

От места объявления зависит, какие процедуры смогут получить доступ к переменной, т.е. от места объявления переменной зависит ее область видимости. Если переменная объявляется на уровне модуля, использовать переменную сможет любая процедура в данном модуле. Если переменная объявляется внутри некоторой процедуры, переменной можно будет пользоваться только внутри этой процедуры. Для назначения области видимости можно использовать также ключевые слова Private, Public и Static. (Области видимости мы уже обсуждали в главе 6 и еще остановимся на них ниже, в разделе Задание области видимости переменной,)

Хотя VBA и не возражает против того, чтобы между объявлениями в процедуре размешались выполняемые операторы, программный код будет восприниматься проще, если поместить все объявления в самое начало процедуры. Вот образец правильного размещения операторов внутри процедуры:

Public Sub VariableProcedures ( )

Dim strChildsName As String

Dim intToyCount As Integer

Dim curAllcwance As Currency

strChildsName = inputBox(Введите имя ребенка:)

‘ в следующих двух строках CountToys 11 NewAllowance

' представляют процедуры типа Function, определенные

' где-то в другой части программы

intToyCount = CountToys(strChildsName)

curAllowance = NewAllowance(strChildsName, intToyCount)

End Sub

Когда объявлять переменные

Все эксперты, как один, рекомендуют объявлять переменные заранее, а не там, где они должны первый раз использоваться в программе. Один из очевидных аргументов в пользу этого - упрощение программного кода. Другие аргументы начинают работать, когда используется директива Option Explicit для компилятора, которая будет обсуждаться ниже, в разделе Явные объявления приветствуются.

Правда, по умолчанию VBA не запрещает использование переменных без предварительного их объявления. Если где-нибудь в программе вы напечатаете А = 7, VBA добросовестно создаст переменную с именем А и поместит в нее значение 7. Переменные, которые вы создаете без предварительного объявления, автоматически получают тип Variant, который будет рассмотрен в следующем разделе.

Выбор и использование типов данных

В объявлении переменной можно просто указать ее имя. Следующий оператор дает указание VBA выделить пространство для переменной с именем variable, но не указывает, информацию какого типа будет эта переменная хранить:

Dim Variable

Альтернативой будет явное объявление типа данных переменной. Оператор

Dim sngMyOldSocks As Single объявляет sngMyOldSocks как переменную типа Single, что означает переменную, хранящую не слишком большое число с плавающей запятой, - что-то вроде чисел, использующихся для представления физических величин, с десятичной запятой и экспонентой, как, например, 6,02 x 10

VBA предлагает целый ряд других типов данных для переменных, включая исключительно удобные типы Date (Дата) и Currency (Денежный). Внимательно ознакомьтесь со всеми доступными типами данных, поскольку их правильное использование даст ключ к созданию правильно работающих программ. В табл. 7.1 приводятся основные факты, касающиеся типов данных, а дополнительные сведения и обсуждение приемов работы с конкретными типами данных вы найдете ниже, в разделе Дополнительные сведения о типах данных.

Таблица 7.1. Типы данных VBA

Тип данных

Содержимое соответствующей переменной

Диапазон допустимых значений

Boolean

Логическое Истина или Ложь

Истина (-1) или Ложь (0)

Byte

Достаточно малое целое число

От 0 до 255

Integer

He слишком большое целое число

От -32768 до 32767

Long

Большое целое число

От -2147483648 до 2147483647

Single

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

От -3.402823Е38 до -1.401298Е-45 для отрицательных значений и от 1,401298Е-45 до 3,402823Е38 для положительных

Double

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

От-1,79769313486232Е308 до - 4,94065645841247Е-324 для отрицательных значений и от 4,94065645841247Е-324 до 1,79769313486232Е308 для положительных

Currency

Большое число, для которого выделено 19 позиций, включая фиксированные четыре позиции после запятой

От -922337203685477,5808 до 922337203685477,5807

Decimal

© Книги.Онлайн 2025год
Наша самая популярная
электронная библиотека
Вход на сайт
Комментарии и отзывы

Зарубежная литература
Книги СССР
Проза, право
Боевое произведение
Взгляд, политика

Любовные, фэнтези
Современные, детские
Крутые боевики
Магические, самиздат
Юмористические, жуткие