Atgriež Būla vērtību, kas norāda, vai procedūrai ir nodots neobligāts varianta arguments.
Sintakse
IsMissing(argname)
Obligātais argumentā argname ir ietverts neobligātā variantu procedūras argumenta nosaukums.
Piezīmes
Izmantojiet funkciju IsMisking , lai noteiktu, vai, izsaucot procedūru, ir sniegti papildu variantu argumenti. IsMissing atgriež True , ja norādītajam argumentam nav nodota neviena vērtība. pretējā gadījumā tā atgriež vērtību False. Ja IsMissing atgriež argumentam True , trūkstošā argumenta izmantošana citā kodā var izraisīt lietotāja definētu kļūdu. Ja parametram ParamArray tiek izmantots IsMissing (Trūkst), tas vienmēr atgriež vērtību False. Lai noteiktu tukšu ParamArray, pārbaudiet, vai masīva augšējā robeža ir mazāka nekā tā apakšējā robeža.
Piezīme
IsMissing nedarbojas ar vienkāršiem datu tipiem (piemēram, Integer vai Double), jo atšķirībā no variantiem tiem nav noteikuma par "trūkstošu" karodziņa bitu. Tāpēc ierakstīto neobligāto argumentu sintakse ļauj norādīt noklusējuma vērtību. Ja, izsaucot procedūru, arguments tiek izlaists, argumentam būs šī noklusējuma vērtība, kā norādīts piemērā tālāk:
Piezīme
Turpmākajos piemēros redzama šīs funkcijas izmantošana Visual Basic for Applications (VBA) modulī. Lai iegūtu papildinformāciju par darbu ar VBA, nolaižamajā sarakstā atlasiet Uzziņas materiāli izstrādātājiem blakus meklēšanas lodziņam un ievadiet šajā lodziņā vienu vai vairākus vārdus.
Sub MySub(Optional MyVar As String = "specialvalue")
If MyVar = "specialvalue" Then
' MyVar was omitted.
Else
...
End Sub
Daudzos gadījumos varat šo testu If MyVar izlaist pilnībā, padarot noklusējuma vērtību vienādu ar vērtību MyVar , kuru vēlaties ietvert, ja lietotājs to izlaiž funkcijas izsaukumā. Tādējādi jūsu kods ir precīzāks un efektīvāks.
Piemērs
Šajā piemērā izmantota funkcija IsMising , lai pārbaudītu, vai lietotāja definētai procedūrai ir nodots neobligāts arguments. Ņemiet vērā, ka neobligātajiem argumentiem tagad var būt noklusējuma vērtības un tipi, kas nav 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