Область видимости глобальных переменных может
Область видимости глобальных переменных может распространяться:
- на все процедуры одного модуля, в котором они объявлены; такие глобальные переменные, называемые закрытыми ( Private), должны быть объявлены на уровне модуля либо оператором Private либо оператором Dim;
- на весь программный проект - все процедуры всех модулей данного проекта; такие глобальные переменные, называемые открытыми ( Public), должны быть объявлены оператором Public.
Локальные переменные уровня процедуры могут быть объявлены оператором Static, что делает их статическими. У таких переменных увеличивается время жизни. Обычные локальные переменные рождаются при входе в процедуру, видимы только в ней и "умирают", выходя из процедуры. Это значит, что память под переменные отводится при входе в процедуру, а при выходе она освобождается. Область видимости статических переменных по-прежнему - процедура, но время жизни иное, так как у них не отбирается память при выходе, - она просто становится временно недоступной. Поэтому при повторном входе в процедуру статические переменные восстанавливают те значения, что у них были при последнем выходе. Статические переменные - это хранители информации между многократными вызовами одной и той же процедуры. Чтобы статические переменные имели смысл, необходима первоначальная инициализация переменных, - они должны иметь хоть какие-то значения уже при первом вхождении в процедуру. Вот как VBA инициализирует переменные в момент их объявления:
- 0 - для численных значений;
- пустая строка ("") - для строк переменной длины;
- строка, содержащая нули, - для строк фиксированной длины;
- Empty (значение, указывающее на отсутствие инициализации) - для типа Variant;
- для массивов и записей (типа, определенного программистом), каждый элемент инициализируется в соответствии с указанными правилами.
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий