Vrátí logickou hodnotu označující, zda byla Procedura předána volitelná variantníArgument.
Syntaxe
IsMissing( název_argumentu )
Požadovaný argument argname obsahuje název volitelného argumentu procedury Variant .
Poznámky
Pomocí funkce IsMissing zjistěte, jestli byly při volání procedury poskytnuty volitelné argumenty variant . IsMissing vrátí hodnotu True , pokud nebyla předána žádná hodnota pro zadaný argument; v opačném případě vrátí hodnotu False. Pokud IsMissing vrátí hodnotu True pro argument, použití chybějícího argumentu v jiném kódu může způsobit chybu definovanou uživatelem. Pokud je u argumentu ParamArray použita funkce IsMissing, vrátí vždy hodnotu False. Pokud chcete zjistit prázdný paramArray, otestujte, jestli je horní mez pole menší než dolní mez.
Poznámka: IsMissing nefunguje na jednoduchých datových typech (například Integer nebo Double), protože na rozdíl od variant nemají zřízení pro chybějící bit příznaku. Z tohoto důvodu syntaxe zadaných volitelných argumentů umožňuje zadat výchozí hodnotu. Pokud je argument při volání procedury vynechán, bude mít argument tuto výchozí hodnotu, jako v následujícím příkladu:
Poznámka: Následující příklady ukazují použití této funkce v modulu VBA (Visual Basic pro Applications). Pokud chcete další informace o práci s modulem VBA, vyberte Referenční informace pro vývojáře, které najdete v rozevíracím seznamu vedle položky Hledat a do vyhledávacího pole napište požadované pojmy.
Sub MySub(Optional MyVar As String = "specialvalue")
If MyVar = "specialvalue" Then
' MyVar was omitted.
Else
...
End Sub
V mnoha případech můžete If MyVar test zcela vynechat tak, že nastavíte výchozí hodnotu, která se rovná hodnotě, kterou má MyVar obsahovat, pokud ji uživatel z volání funkce vynechá. Díky tomu je váš kód výstižnější a efektivnější.
Příklad
Tento příklad používá funkci IsMissing ke kontrole, jestli byl do uživatelem definované procedury předán volitelný argument. Všimněte si, že volitelné argumenty teď můžou mít jiné výchozí hodnoty a typy než 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