Returnerar ett booleskt värde som anger om en valfri variantargument har överförs till en procedur.

Syntax

IsMissing( argname )

Det obligatoriska argname-argumentet innehåller namnet på ett valfritt variantprocedurargument.

Kommentarer

Använd funktionen IsMissing för att identifiera om alternativa variantargument har angetts för att anropa en procedur. IsMissingreturnerar True om inget värde har överförs för det angivna argumentet. Annars returneras Falskt. Om IsMissingreturnerar True för ett argument kan användningen av argumentet som saknas i annan kod orsaka ett användardefinierat fel. Om IsMissing används på ett paramArray-argument returneras alltid Falskt. För att identifiera en tom ParamArrayska du testa om matrisens övre bundna är mindre än dess nedre bundna.

Obs!:  IsMissing fungerar inte på enkla datatyper (till exempel Heltal eller Double)eftersom de, till skillnad från Varianter,inte har någon bestämmelse om en "saknad" flagga. Därför kan du ange ett standardvärde med syntaxen för valfria argument. Om argumentet utelämnas när proceduren anropas får argumentet det här standardvärdet, som i exemplet nedan:

Obs!: I exemplen nedan visar vi hur du använder den här funktionen i en Visual Basic for Applications-modul (VBA). Om du vill läsa mer om hur man använder VBA, kan du välja Info för utvecklare i listrutan bredvid Sök och sedan skriva en eller flera söktermer i sökrutan.

Sub MySub(Optional MyVar As String = "specialvalue")
If MyVar = "specialvalue" Then
' MyVar was omitted.
Else
...
End Sub

I många fall kan du hoppa över If MyVar -testet helt genom att göra standardvärdet lika med det värde som du vill MyVar ska innehålla om användaren utelämnar det från funktionsanropet. Det gör koden mer koncis och effektiv.

Exempel

I det här exemplet används funktionen IsMissing för att kontrollera om ett valfritt argument har överförs till en användardefinierad procedur. Observera att valfria argument nu kan ha andra standardvärden och typer än 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

Behöver du mer hjälp?

Utöka dina kunskaper

UTFORSKA UTBILDNING >

Få nya funktioner först

ANSLUT TILL MICROSOFT INSIDERS >

Hade du nytta av den här informationen?

Hur nöjd är du med språkkvaliteten?
Vad påverkade din upplevelse?

Tack för din feedback!

×