Logikai értéket ad eredményül, amely azt jelzi, hogy lett-e átadva nem kötelező Variant argumentumot egy eljárásnak.
Szintaxis
IsMissing(argname)
A kötelező argname argumentum egy nem kötelező Variant eljárásargumentum nevét tartalmazza.
Megjegyzések
Az IsMissing függvénnyel észlelheti, hogy az eljárások hívásakor megadtak-e nem kötelező Variant argumentumokat. Az IsMissingeredménye Igaz, ha a megadott argumentumhoz nem adott át értéket; ellenkező esetben Hamis értéket ad vissza. Ha az IsMissing argumentum az Igaz értéket adja vissza, a hiányzó argumentum más kódban való használata felhasználói hibát okozhat. Ha az IsMissing argumentumot használja egy ParamArray argumentumban, mindig False (Hamis) értéket ad vissza. Üres paramétertömb észleléséhez tesztelje, hogy a tömb felső határa kisebb-e, mint az alsó határa.
Megjegyzés
Az IsMissing függvény egyszerű adattípusokon (például Integer vagy Dupla) nem működik, mert a variánsokkal ellentétben bennük nincs lehetőség a "hiányzó" jelölőbitre. Ezért a nem kötelező argumentumok szintaxisa lehetővé teszi alapértelmezett érték megadását. Ha az argumentum hiányzik az eljárás hívásakor, akkor az argumentum az alábbi alapértelmezett értéket használja, ahogy az alábbi példában is látható:
Megjegyzés
A következő példák egy Visual Basic for Applications (VBA) modulban mutatják be a függvény használatát. A VBA használatáról a Keresés elem mellett található legördülő listából a fejlesztői forrásokat választva, majd egy vagy több keresőszót megadva kaphat további tájékoztatást.
Sub MySub(Optional MyVar As String = "specialvalue")
If MyVar = "specialvalue" Then
' MyVar was omitted.
Else
...
End Sub
Sok esetben teljesen kihagyhatja a If MyVar tesztet, ha az alapértelmezett értéket a szerepeltetni kívánt MyVar értékkel egyenlővé teszi, ha a felhasználó kihagyja azt a függvényhívásból. Ezáltal a kód tömörebb és hatékonyabb lesz.
Példa
Ebben a példában az IsMissing függvénnyel ellenőrizzük, hogy nem kötelező-e argumentumot átadni egy felhasználó által definiált eljárásnak. Ne feledje, hogy a nem kötelező argumentumok mostantól a Variant értéktől eltérő alapértelmezett értékkel és típussal is rendelkezhetnek.
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