Returnează o valoare booleană indicând dacă unargumentvariantă opțională a fost transmis unui procedură.
Sintaxă
IsMissing ( argname )
Argumentul argname obligatoriu conține numele unui argument de procedură variantă opțională.
Observații
Utilizați funcția IsMissing pentru a detecta dacă au fost furnizate sau nu argumente variantă opționale în apelul unei proceduri. IsMissing returnează True dacă nu a fost transmisă nicio valoare pentru argumentul specificat; în caz contrar, returnează false. Dacă IsMissing returnează True pentru un argument, utilizarea argumentului lipsă în alt cod poate provoca o eroare definită de utilizator. Dacă IsMissing este utilizat pentru un argument ParamArray , acesta returnează întotdeauna false. Pentru a detecta un ParamArraygol, testați pentru a vedea dacă limita superioară a matricei este mai mică decât cea mai mică legată.
Notă: IsMissing nu funcționează pe tipuri de date simple (cum ar fi număr întreg sau dublu), deoarece, spre deosebire de variante, nu au o dispoziție pentru un pic de semnalizare "lipsă". Din acest motiv, sintaxa pentru argumentele opționale tastat vă permite să specificați o valoare implicită. Dacă argumentul este omis atunci când se numește procedura, argumentul va avea această valoare implicită, ca în exemplul de mai jos:
Notă: Exemplele care urmează demonstrează utilizarea acestei funcții într-un modul Visual Basic for Applications (VBA). Pentru mai multe informații despre lucrul cu VBA, selectați Referințe pentru dezvoltatori în lista verticală de lângă Căutare și introduceți unul sau mai mulți termeni în caseta de căutare.
Sub MySub(Optional MyVar As String = "specialvalue")
If MyVar = "specialvalue" Then
' MyVar was omitted.
Else
...
End Sub
În multe cazuri, puteți omite If MyVar test complet, făcând valoarea implicită egală cu valoarea pe care doriți MyVar să o conțină dacă utilizatorul o omite din apelul funcției. Acest lucru vă face codul mai concis și mai eficient.
Exemplu
Acest exemplu utilizează funcția IsMissing pentru a verifica dacă un argument opțional a fost transmis unei proceduri definite de utilizator. Rețineți că argumentele opționale pot avea acum valori implicite și alte tipuri decât varianta.
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