Returnează o valoare Boolean care indică dacă s-a transmis o valoare variantargument opțională către un procedură.
Sintaxă
IsMissing( argname )
Argumentul argname necesar conține numele unui argument opțional de procedură Variant .
Observații
Utilizați funcția IsMissing pentru a detecta dacă argumentele variant opționale au fost furnizate sau nu în apelarea unei proceduri. IsMissing returnează True dacă nu s-a 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 cauza o eroare definită de utilizator. Dacă IsMissing este utilizat într-un argument ParamArray , returnează întotdeauna False. Pentru a detecta o ParamArray goală, testați dacă limita superioară a matricei este mai mică decât limita sa inferioară.
Notă: IsMissing nu funcționează pentru tipuri de date simple (cum ar fi Număr întreg sau Dublu), deoarece, spre deosebire de variante, acestea nu au o prevedere pentru un bit de semnalizare "lipsă". Din acest motiv, sintaxa pentru argumentele opționale tastate vă permite să specificați o valoare implicită. Dacă argumentul este omis atunci când se apelează procedura, atunci 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 complet If MyVar test, făcând valoarea implicită egală cu valoarea pe care doriți să o conțină MyVar dacă utilizatorul o omite din apelul de funcție. Acest lucru 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 și tipuri implicite, altele decât 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