Връща булева стойност, указваща дали незадължителен аргумент на Variant е подаден към процедура.
Синтаксис
IsMissing(argname)
Задължителният аргумент argname съдържа името на незадължителния аргумент на процедура Variant .
Забележки
Използвайте функцията IsMissing , за да откриете дали са предоставени незадължителни аргументи на варианта при извикването на процедура. IsMissing връща True , ако не е подадена стойност за указания аргумент; в противен случай връща False. Ако IsMissing връща True за аргумент, използването на липсващия аргумент в друг код може да доведе до дефинирана от потребителя грешка. Ако IsMissing се използва за аргумент на ParamArray , той винаги връща False. За да откриете празен параммасив, тествайте, за да видите дали горната граница на масива е по-малка от долната му граница.
Забележка
IsMissing не работи с прости типове данни (като например Integer или Double), защото за разлика от вариантите те нямат разпоредба за "липсващ" бит за флаг. Поради това синтаксисът за въведени незадължителни аргументи ви позволява да зададете стойност по подразбиране. Ако аргументът е пропуснат, когато процедурата се извиква, аргументът ще има тази стойност по подразбиране, както в примера по-долу:
Забележка
Примерите по-долу илюстрират използването на тази функция във Visual Basic for Applications (VBA). За повече информация относно работата с VBA изберете Справочни материали за разработчици в падащия списък до Търсене и въведете един или няколко термина в полето за търсене.
Sub MySub(Optional MyVar As String = "specialvalue")
If MyVar = "specialvalue" Then
' MyVar was omitted.
Else
...
End Sub
В много случаи можете да пропуснете If MyVar теста изцяло, като направите стойността по подразбиране равна на стойността, която искате MyVar да съдържате, ако потребителят я пропусне в извикването на функцията. Това прави вашия код по-кратък и ефективен.
Пример
Този пример използва функцията IsMissing , за да провери дали незадължителен аргумент е подаден към дефинирана от потребителя процедура. Обърнете внимание, че незадължителните аргументи сега могат да имат стойности и типове по подразбиране, различни от вариант.
Dim ReturnValue
' The following statements call the user-defined
' function procedure.
ReturnValue = ReturnTwice() ' Returns Null.
ReturnValue = ReturnTwice(2) ' Returns 4.
' Function procedure definition.
Function ReturnTwice(Optional A)
If IsMissing(A) Then
' If argument is missing, return a Null.
ReturnTwice = Null
Else
' If argument is present, return twice the value.
ReturnTwice = A * 2
End If
End Function