- •Факультет вычислительной математики и кибернетики
- •Рецензент : кандидат физ.-мат. Наук, доцент а.В.Баркалов
- •Нижегородский государственный университет имени н.И.Лобачевского
- •Введение.
- •Основные понятия языка vba
- •Модули.
- •Переменные и типы данных
- •Процедуры и функции.
- •Массивы
- •Константы.
- •Операторы.
- •Объекты и классы.
- •Коллекции.
- •Инструкции.
- •If Условие Then
Переменные и типы данных
Переменная – это именованный фрагмент памяти, выделяемый или резервируемый для хранения данных.
Существуют определённые правила, позволяющие давать имена переменным, процедурам и константам с некоторыми ограничениями.
В VBA следующие правила назначения имён:
первым символом имени обязательно должна быть буква;
нельзя использовать символы «.», «!», «@», «&», «$», «#» и пробел;
имя может содержать буквы, цифры, и знак подчёркивания;
имя не может содержать более 255 знаков;
имя не должно совпадать с ключевыми словами VBA;
в одной процедуре не могут быть объявлены две переменные с одним и тем же именем.
Для того чтобы воспользоваться переменной в программе её надо сначала объявить, то есть задать её тип и область использования переменной.
Структура объявления переменных имеет следующий вид:
(Dim | Public | Private | Static) имя переменной [As] [Type]
Когда объявляется переменная, определяется область её видимости (Scope), то есть область проекта, где она доступна. Область видимости переменной задаётся с помощью одного из четырёх главных слов:
– Dim
– Public
– Private
– Static
Главное слово Dim используется для объявления переменной на уровне процедуры, такая переменная называется локальной. Переменная такого вида может быть доступна только в той процедуре, в которой она была объявлена.
Пример1:
Sub TestSub ()
Dim i As Integer
Dim j As Integer
Dim x As Integer
Dim v As String
i = 2
j = 4
x = i + j
v = “ Строковое выражение. ”
End Sub
В этом примере объявляются: числовые переменные i, j, x и строковая переменная v. Затем переменным присваиваются значения, в зависимости от их типа (например, i числовая переменная и поэтому ей присваивается число 2 и т.д.). Переменной x, в теле процедуры, присваивается значение выражения, которое представляет собой сумму переменной i и переменной j. После выполнения программы переменной x будет присвоено значение равное 6, а переменной v строковое значение равное “Строковое выражение”.
Под временем существования переменой понимается время, в течение которого переменная может иметь значение.
Локальные переменные имеют значение только во время выполнения процедуры, в которой они объявлены.
Использование перед именем переменной главного слова Static позволяет сохранить её значение между вызовами процедуры, в которой эта переменная объявлена. Инструкция Static используется только на уровне процедуры. Объявленные с помощью неё переменные называются статическими. Статические локальные переменные имеют значение в течение всего времени выполнения программы.
Пример2:
1. Sub TestSub ()
Dim Static i As Integer
…
End Sub
2. Private Static Sub TestSub ()
Dim i As Integer
Dim j As Integer
…
End Sub
В 2.1 i объявлена как статистическая переменная типа Integer. Если требуется, чтобы все переменные процедуры были статистическими, перед её именем надо поставить главное слово Static. В 2.2 обе переменные будут статистическими.
Глобальные переменные тоже сохраняют своё значение до окончания выполнения программы, но есть некоторые отличия от статистических переменных. Глобальные переменные в модуле класса имеют значение, пока существует данный экземпляр класса. В стандартном модуле глобальные переменные имеют значение до тех пор, пока выполняется программа.
При объявлении переменной на уровне модуля используются инструкции Public и Private. Объявление переменой на уровне модуля осуществляется в секции Declaration формы или стандартного модуля.
В случае использования ключевого слова Public, переменная становится доступной во всех модулях проекта, а также и в других проектах, если они имеют ссылку на проект, в котором объявлена переменная. Такая переменная называется глобальной. Если используется ключевое слово Private, то переменная доступна только в данном модуле.
Статистические переменные, определённые с помощью ключевого слова Static, должны иметь определённые значения уже при первом вызове процедуры. В VBA эти переменные получают некоторое значение в момент их объявления.
Статистические переменные на стадии объявления могут иметь следующие значения:
– значение 0 – для численных типов;
– пустая строка(“”) – для строк переменной длины;
– строка, содержащая нули, - для строк фиксированной длины;
– значение Empty – для типа Variant;
– для массива каждый элемент получает значение соответствующего типа.
Типы данных являются одним из главных элементов языка VBA.
При объявлении переменной её тип указывается после главного слова As, с помощью одного из главных слов, приведённых ниже.
Переменные типа Byte, Boolean, Integer, Long, Single, Double, Currency, Decimal, Data называются числовыми переменными.
Переменные типа String называются строковыми переменными. Эти переменные содержат буквы, цифры, пробелы, знаки пунктуации и специальные символы.
