End Sub. Объявление N1 перед процедурой сделано для того, чтобы переменная Nl была "видима" (в плане возможности использования) и в программе

Объявление N1 перед процедурой сделано для того, чтобы переменная Nl была "видима" (в плане возможности использования) и в программе, и в подпрограмме. Переменные можно объявлять в двух местах:

· внутри программы или процедуры;

· в верхней части окна кода, которая называется областью общих объявлений модуля.

Если переменная объявлена в процедуре (как переменная j в последнем коде), то только эта процедура ее видит. Другие процедуры (если они есть) и программа не могут использовать значение этой переменной и менять его. Такую переменную называют локальной. Говорят также, что переменная видима на уровне процедуры.

Чтобы значение переменной было доступно всем процедурам данного модуля, ее надо объявить в области общих объявлений модуля (как объявлена переменная Nl в последнем коде). Тогда программа и все процедуры, определенные в данном модуле, могут использовать значение этой переменной и менять его. Такую переменную называют глобальной. Говорят также, что переменная видима на уровне модуля.

Сказанное относительно переменных относится и к пользовательским константам, но значение константы, естественно, нельзя менять.

Объявление необязательности параметра осуществляется при помощи ключевого слова Optional, которое ставится перед именем этого параметра в первой строке описания процедуры. Необязательный параметр должен иметь тип Variant.

Пример:

Sub Program4 ()

Dim vntA As Byte

Dim vntB As Byte

Dim С As Integer

vntA = 5

vntB = 10

С = Apt(vntA, vntB) ' Результат: vntB = 6, С = 625

vntB = 10

С = Apt(vntA) ' Результат: vntB = 10, С = 625

End Sub

Function Apt(ByVal а, Optional b As Variant)

If Not IsMissing(b) Then b = а + 1

Apt = а^4

End Function

В этом примере параметр b функции Apt является необязательным, о чем говорит Optional перед b. Словосочетание As Variant после b можно опустить.

В описании функции Ap t:

Not - логическая операция;

IsMissing -функция.

Значение IsMissing(b) равно True при отсутствии второго параметра в обращении к Apt, и False при наличии этого параметра.

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

Пример:

Sub Program5 ()

Dim vntA As Byte

Dim vnt~ As Byte

Dim vntC Аs Byte

vntA = 5

vntB = 10

Call Opt(vntA, vntC, vntB) 'Результат: vntC = 15

vntB = 10

Call Opt(vntA, vntC) 'Результат: vntC = 8

End Sub

Sub Opt(ByVal а, с, Optional b = З)

с = а + b


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: