Повертає логічне значення, яке вказує, чи необов'язковийаргументваріанта передано до процедура.
Синтаксис
IsMissing( argname )
Обов'язковий аргумент 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