Vrátí hodnotu typu Boolean označující, zda byl nepovinný argument (Argument: Hodnota, která poskytuje informace určité akci, události, metodě, vlastnosti, funkci nebo proceduře.)
typu Variant
předán proceduře (Procedura: Posloupnost deklarací a příkazů v modulu, které jsou provedeny jako celek. Mezi procedury jazyka Visual Basic patří procedury Sub a Function.).
Syntaxe
IsMissing(název_argumentu)
Povinný argument název_argumentu obsahuje název volitelného argumentu procedury typu Variant.
Poznámky
Funkce IsMissing slouží ke zjištění skutečnosti, zda byly volitelné argumenty typu Variant k dispozici při volání procedury či nikoli. Funkce IsMissing vrátí hodnotu True v případě, že pro zadaný argument nebyla předána žádná hodnota. Jinak vrátí hodnotu False. Pokud funkce IsMissing vrátí pro určitý argument hodnotu True, může použití chybějícího argumentu v jiném kódu způsobit chybu definovanou uživatelem. Jestliže je funkce IsMissing použita u argumentu typu pole parametrů, vrátí vždy hodnotu False. Chcete-li rozpoznat prázdné pole parametrů, zjistěte, zda je horní mez pole (Pole: Proměnná obsahující konečný počet prvků, které mají společný název a typ dat. Každý prvek v poli je označen jedinečným indexem. Změny provedené u jednoho prvku v poli nemají na ostatní prvky žádný vliv.)
nižší než jeho dolní mez.
Poznámka:
Funkci IsMissing nelze použít u jednoduchých typů dat (jako je například Integer nebo Double), protože tyto typy neumožňují na rozdíl od typu Variant použít chybějící příznakový bit. Vzhledem k tomu umožňuje syntaxe zadaných nepovinných argumentů zadat výchozí hodnotu. Pokud je argument při volání procedury vynechán, bude jeho hodnota nastavena na výchozí hodnotu (viz následující příklad):
Poznámka: Následující příklady uvádějí použití této funkce v modulu jazyka Visual Basic for Applications (VBA). Další informace o práci s jazykem VBA získáte tak, že klepnete na položku Referenční informace pro vývojáře v rozevíracím seznamu vedle pole Hledat a do pole pro hledání zadáte jeden nebo více pojmů.
Sub MySub(Optional MyVar As String = "specialvalue")
If MyVar = "specialvalue" Then
' MyVar was omitted.
Else
...
End Sub
V mnoha případech můžete test If MyVar zcela vynechat tím, že výchozí hodnotu nastavíte na hodnotu, kterou má obsahovat argument MyVar v případě, že jej uživatel při volání funkce vynechá. Tím daný kód zkrátíte a zefektivníte.
Příklad
V tomto příkladu je pomocí funkce IsMissing zjištěno, zda byl nepovinný argument předán do procedury definované uživatelem. Argumenty Optional (Volitelné) mohou mít v tomto případě výchozí hodnoty a typy jiné 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