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 | Любое из допустимых данных |
Разработчику часто требуется много сторонних инструментов, чтобы создавать и поддерживать проект. Система Git — один из таких инструментов и используется для контроля промежуточных версий вашего приложения, позволяя вам исправлять ошибки, откатывать к старой версии, разрабатывать проект в команде и сливать его потом. В книге вы узнаете об основах работы с Git: установка, ключевые команды, gitHub и многое другое.В книге рассматриваются следующие темы:основы Git;ветвление в Git;Git на сервере;распределённый Git;GitHub;инструменты Git;настройка Git;Git и другие системы контроля версий.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.