Методы автоматизации при работе в MS Excel. Синявская Г.А. - 30 стр.

UptoLike

Составители: 

30
Существует три уровня определения области видимости переменной:
уровень процедуры, уровень модуля и уровень проекта.
Когда переменная объявлена в теле процедуры, говорят, что она описана
на уровне процедуры. Такие переменные называются локальными. Они доступ-
ны только в пределах той процедуры, в которой они объявлены. Переменные,
объявленные неявно, всегда являются локальными.
Если переменная объявлена в разделе объявлений модуля, то есть до ка-
ких-либо объявлений процедур (рис. 5), говорят, что она объявлена на уровне
модуля. Такая переменная доступна для совместного использования во всех
процедурах данного модуля и недоступна из процедур в других модулях. Зна-
чения переменной уровня модуля сохраняется все время, пока работает этот
модуль.
Если нужно, чтобы переменная могла использоваться процедурами, кото-
рые располагаются в нескольких модулях, она должна быть описана на уровне
проекта. Для этого ее нужно описать в разделе объявлений одного из модулей и
вместо слова Dim поставить ключевое слово Public .
Переменные, описанные на уровне проекта, называются глобальными.
Время жизни глобальных переменныхвсе время, пока работает приложение.
Для локальной переменной существует еще один способ объявления, не
меняющий ее уровень, но влияющий на время жизни. Если при объявлении пе-
ременной в теле процедуры вместо оператора Dim поставить Static, то выде-
ленная ей память не отбирается при выходе процедуры, в которой она была
описана и использована, и значение переменной сохраняется. Такая переменная
называется статической.
Статическая переменная не доступна вне тела процедуры, в которой она
объявлена. Но если произойдет повторный вызов этой процедуры, переменная
не будет заново инициализироваться, а будет иметь то значение, которое она
имела в момент завершения работы процедуры при предыдущем вызове.
Процедуры имеют только два уровня видимостиуровень модуля и уро-
вень проекта. По умолчанию используется уровень проекта.
Рис. 5. Переменная strA объявлена на уровне модуля
      Существует три уровня определения области видимости переменной:
уровень процедуры, уровень модуля и уровень проекта.
      Когда переменная объявлена в теле процедуры, говорят, что она описана
на уровне процедуры. Такие переменные называются локальными. Они доступ-
ны только в пределах той процедуры, в которой они объявлены. Переменные,
объявленные неявно, всегда являются локальными.
      Если переменная объявлена в разделе объявлений модуля, то есть до ка-
ких-либо объявлений процедур ( рис. 5), говорят, что она объявлена на уровне
модуля. Такая переменная доступна для совместного использования во всех




     Рис. 5. Переменная strA объявлена на уровне модуля

процедурах данного модуля и недоступна из процедур в других модулях. Зна-
чения переменной уровня модуля сохраняется все время, пока работает этот
модуль.
      Если нужно, чтобы переменная могла использоваться процедурами, кото-
рые располагаются в нескольких модулях, она должна быть описана на уровне
проекта. Для этого ее нужно описать в разделе объявлений одного из модулей и
вместо слова Dim поставить ключевое слово Public .
      Переменные, описанные на уровне проекта, называются глобальными.
Время жизни глобальных переменных – все время, пока работает приложение.
      Для локальной переменной существует еще один способ объявления, не
меняющий ее уровень, но влияющий на время жизни. Если при объявлении пе-
ременной в теле процедуры вместо оператора Dim поставить Static, то выде-
ленная ей память не отбирается при выходе процедуры, в которой она была
описана и использована, и значение переменной сохраняется. Такая переменная
называется статической.
      Статическая переменная не доступна вне тела процедуры, в которой она
объявлена. Но если произойдет повторный вызов этой процедуры, переменная
не будет заново инициализироваться, а будет иметь то значение, которое она
имела в момент завершения работы процедуры при предыдущем вызове.
      Процедуры имеют только два уровня видимости – уровень модуля и уро-
вень проекта. По умолчанию используется уровень проекта.


                                        30