Pateikia Bulio logikos reikšmę, nurodančią, ar procedūrai buvo perduotas pasirinktinis varianto argumentas.
Sintaksė
IsMissing(argname)
Būtinas argumentas argname yra pasirenkamo varianto procedūros argumento pavadinimas.
Pastabos
Naudokite funkciją IsMissing norėdami nustatyti, ar iškviečiant procedūrą buvo pateikti pasirinktiniai varianto argumentai. IsMissing grąžina True , jei nurodytam argumentui nebuvo perduota jokia reikšmė; priešingu atveju ji grąžina False. Jei IsMissing grąžina argumento reikšmę True , naudojant trūkstamą argumentą kitame kode gali kilti vartotojo apibrėžta klaida. Jei ParamArray argumente naudojama IsMiss, ji visada grąžina False. Norėdami aptikti tuščią ParamArray, patikrinkite, ar masyvo viršutinė riba yra mažesnė už apatinę ribą.
Pastaba
IsMissing neveikia su paprastais duomenų tipais (pvz., sveikųjų skaičių arba dvigubais), nes , skirtingai nei variantai, juose nėra "trūkstamo" vėliavėlės bito nuostatos. Todėl įvestų pasirinktinių argumentų sintaksė leidžia nurodyti numatytąją reikšmę. Jei iškvietus procedūrą argumentas praleidžiamas, argumentas turės tokią numatytąją reikšmę, kaip toliau pateiktame pavyzdyje:
Pastaba
Pateiktuose pavyzdžiuose parodyta, kaip naudoti šią funkciją „Visual Basic for Applications“ (VBA) modulyje. Daugiau informacijos apie darbą su VBA rasite išplečiamajame sąraše pasirinkę Kūrėjų nuoroda (šalia Ieškos) ir ieškos lauke įvedę vieną ar daugiau sąlygų.
Sub MySub(Optional MyVar As String = "specialvalue")
If MyVar = "specialvalue" Then
' MyVar was omitted.
Else
...
End Sub
Daugeliu atvejų galite visiškai praleisti If MyVar tikrinimą, nurodydami, kad numatytoji reikšmė būtų lygi reikšmei, kurią norite MyVar įtraukti, jei vartotojas ją praleistų funkcijos iškvietime. Taip jūsų kodas bus glaustesnis ir efektyvesnis.
Pavyzdys
Šiame pavyzdyje naudojama funkcija IsMiss, skirta patikrinti, ar vartotojo apibrėžtai procedūrai perduotas pasirinktinis argumentas. Atkreipkite dėmesį, kad pasirinktiniai argumentai dabar gali turėti numatytąsias reikšmes ir tipus, išskyrus 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