Връща булева стойност, показваща дали незадължителенаргумент на variant е предаден на процедура.
Синтаксис
IsMissing( име на арг )
Задължителният аргумент argname съдържа името на незадължителен аргумент за процедура Variant .
Забележки
Използвайте функцията IsMissing , за да откриете дали са предоставени незадължителни аргументи variant при извикване на процедура. IsMissing връща True , ако не е предадена стойност за зададения аргумент; в противен случай връща False. Ако IsMissing връща True за аргумент, използването на липсващия аргумент в друг код може да доведе до грешка, дефинирана от потребителя. Ако IsMissing се използва за аргумент ParamArray , той винаги връща False. За да откриете празна ParamArray, проверете дали горната граница на масива е по-малка от долната му граница.
Забележка: 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 , за да провери дали не е предаден незадължителен аргумент на дефинирана от потребителя процедура. Обърнете внимание, че Незадължителните аргументи сега могат да имат стойности по подразбиране и типове, различни от Variant.
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