Переменные. Объявление переменной
Объявление переменной
В Visual Basic for Application существует явное и неявное объявление переменной. Явное объявление означает указание имени и типа переменной перед ее использованием. Если тип переменной не указан, или она не объявлена, то считается, что она объявлена неявно.
Объявление переменной осуществляется при помощи инструкций Dim, Private, Static, Public, которые имеют следующий синтаксис:
Синтаксис объявления переменных
Dim имяПеременной [As типДанных]
Private имяПеременной [As типДанных]
Static имяПеременной [As типДанных]
Public имяПеременной [As типДанных]
Например
Dim a As Integer
Dim d1 As String
Если тип данных при объявлении переменных опущен, то переменная объявлена неявно и по умолчанию получает тип Variant
Определение времени жизни и области видимости переменных
Термины время жизни и область видимости переменной означают место использования переменной в приложении, а также время существования переменной после ее создания.
Область видимости переменной определяет часть кода, которая «знает» о существовании переменной.
В VBA могут применяться глобальные и локальные переменные. Глобальные переменные доступны из любой части программы. Для локальных переменных можно задавать область видимости в рамках всего модуля или отдельной процедуры.
Область определения переменной задает область, в которой может быть использована переменная. В VBA имеется три соответствующих уровня переменных:
· Переменные уровня процедуры распознаются только в процедуре, в которой они описаны при помощи инструкций Dim, Static. Эти переменные являются локальными.
Public Sub TestSub()
Dim intVar1 As Integer
Dim intVar2 As Integer
Dim intVar3 As Integer
Dim strVar As String
intVar1 = 5
intVar2 = 10
intVar3 = intVar1 + intVar2
strVar = "String:!@2#"
End Sub
Public Sub HelloWorld()
Dim HelloMsg
HelloMsg = "HelloWorld"
MsgBox HelloMsg
End Sub
Public Sub HelloDave()
Dim HelloMsg
HelloMsg = "HelloDave"
MsgBox HelloMsg
End Sub
· Переменные уровня модуля используются только в модуле, в котором они описаны, но не в других модулях данного проекта. Описываются при помощи инструкции Dim или Private, размещенной в области описания модуля, т. е. перед описанием процедур.
Dim HelloMsg
Public Sub HelloWorld()
HelloMsg = "HelloWorld"
MsgBox HelloMsg
End Sub
Public Sub HelloDave()
HelloMsg = "HelloDave"
MsgBox HelloMsg
End Sub
· Общие переменные, используемые во всех модулях данного проекта, описываются при помощи инструкции Public, размещенной в области описания модуля.
Однако можно иметь переменные с одним и тем же именем на разных уровнях области действия. Когда переменные имеют одно имя, но разные области действия, VBA использует переменную с наиболее локальной областью действия.
Когда переменная объявляется в процедуре, она существует только, пока VBA выполняет эту процедуру независимо, объявлены эти переменные явно или неявно. После окончания процедуры VBA освобождает память, использующуюся локальными переменными.
Переменные, процедурного уровня создаются каждый раз, когда процедура начинает выполняться, и уничтожаются, когда процедура перестает выполняться.
Дата добавления: 2015-08-08; просмотров: 1064;