Скачиваний:
1
Добавлен:
01.03.2025
Размер:
683.01 Кб
Скачать

2.2Реализация подпрограмм на vba.

Средствами записи подзадач на язык программирования VBA являются подпрограммы, которые записываются однократно и в дальнейшем их выполнение вызывается из любой точки программы, где это необходимо. После того, как подпрограмма закончила своё выполнение, программа продолжает выполнение с той позиции, из которой была вызвана подпрограмма.

В VBA имеется три типа подпрограмм: процедуры, функции и подпрограммы «GoSub Return». Каждый из типов имеет свои области применения и отличается особенностями описания и вызова.

2.2.1Описание подпрограмм GoSub - Return

В VBA от первоначальных версий BASIC сохранилась конструкция подпрограммы «GoSub Return», которая в настоящее время используется редко. Для полноты изложения кратко приведены правила использования этой инструкции.

Синтаксис вызова и описания подпрограммы:

GoSub <Строка> [Инструкции программы] … <Строка> [Инструкции подпрограммы] Return

Строка - метка или номер строки. В качестве метки строки может быть любая удовлетворяющая правилам именования комбинация символов, заканчивающаяся двоеточием.

Допускается использование инструкций GoSub и Return в любом месте процедуры, но GoSub и соответствующая инструкция Return должны находиться в одной процедуре. Подпрограмма может содержать несколько инструкций Return. Первая обнаруженная инструкция Return осуществляет переход обратно – к инструкции, следующей за инструкцией GoSub, вызвавшей подпрограмму.

2.2.2Описание процедур и функций.

Процедура – поименованная изолированная часть программы.

Функция – процедура, определяющая зависимость возвращаемого значения от значений аргументов.

При использовании процедур и функций, VBA в соответствии с условиями структурного программирования особым образом организовывает работу с переменными и их значениями, которые применяются во всей программе, внутри процедуры, передаются в процедуру и возвращаются из процедуры в процессе её вызова.

Функция на VBA является разновидностью процедуры, отличающейся только тем, что когда требуется использовать возвращаемое значение, функция может применяться в правой части выражения, в то время как значения, возвращаемые процедурой, могут храниться только в переменных, указанных в списке фактических параметров и использоваться только в следующих за вызовом инструкциях. В то же время, если не требуется использовать возвращаемое значение функции, она может применяться в стиле процедуры.

Области видимости имен

Область видимости имени задает участки программы, в которых поименованный объект может быть использован. В VBA имеется три уровня области видимости:

Объекты уровня процедуры (локальные) используются только в процедуре или функции, в теле которой они описаны.

Объекты уровня модуля (глобальные) описываются в модуле вне процедур и функций и используются только в модуле, в теле которого они описаны.

Объекты уровня проекта (общие) используются во всех модулях данного проекта. Описываются в теле модуля вне процедур и функций при помощи инструкции Public.

Время жизни переменной

Локальная переменная сохраняет свое значение, пока выполняется процедура, в которой эта переменная описана. При завершении процедуры значение переменной теряется, и при повторном запуске процедуры переменную надо заново инициализировать.

Локальные статические переменные, описанные при помощи инструкции Static, сохраняют свое значение при выходе из процедуры, но пока работает программа. При этом видны они будут только после входа в процедуру.

Глобальные и общие переменные сохраняют свои значения в течение всего времени работы программы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]