VBA для «чайников» - [53]

Шрифт
Интервал

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

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

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

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

От места объявления зависит, какие процедуры смогут получить доступ к переменной, т.е. от места объявления переменной зависит ее область видимости. Если переменная объявляется на уровне модуля, использовать переменную сможет любая процедура в данном модуле. Если переменная объявляется внутри некоторой процедуры, переменной можно будет пользоваться только внутри этой процедуры. Для назначения области видимости можно использовать также ключевые слова 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

Еще большее число, всего 29 позиций, из них до 28 позиций включительно для значения дробной части числа

Допустимый диапазон зависит от числа знаков после запятой, например, ±79228162514264337593543950335 для чисел без дробной части или ±7,922816251426433759354 для чисел с 28 знаками после запятой

Date

Дата и время

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

Object

Объект VBA

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

String

(переменной длины)

Последовательность переменной длины, состоящая из символов

Строковая переменная переменной длины может содержать от 0 до примерно двух миллиардов символов

String

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

Последовательность заданной длины, состоящая из символов

Строковая переменная фиксированной длины может содержать от 0 до примерно 65400 символов

Variant

Любое из допустимых данных


Рекомендуем почитать
Pro Git

Разработчику часто требуется много сторонних инструментов, чтобы создавать и поддерживать проект. Система Git — один из таких инструментов и используется для контроля промежуточных версий вашего приложения, позволяя вам исправлять ошибки, откатывать к старой версии, разрабатывать проект в команде и сливать его потом. В книге вы узнаете об основах работы с Git: установка, ключевые команды, gitHub и многое другое.В книге рассматриваются следующие темы:основы Git;ветвление в Git;Git на сервере;распределённый Git;GitHub;инструменты Git;настройка Git;Git и другие системы контроля версий.



DirectX 8. Начинаем работу с DirectX Graphics

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


Симуляция частичной специализации

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


Обработка событий в С++

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


Питон — модули, пакеты, классы, экземпляры

Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.