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