Restituisce un valore booleano che indica se un argomento Variant facoltativo è stato passato a una routine.
Sintassi
IsMissing(argname)
L'argomento argname obbligatorio contiene il nome di un argomento facoltativo della routine Variant .
Osservazioni
Usare la funzione IsMissing per rilevare se sono stati forniti argomenti Variant facoltativi nella chiamata di una routine. IsMissing restituisce True se non è stato passato alcun valore per l'argomento specificato; in caso contrario, restituisce False. Se IsMissing restituisce True per un argomento, l'uso dell'argomento mancante in altro codice può causare un errore definito dall'utente. Se IsMissing viene utilizzato in un argomento ParamArray , restituisce sempre False. Per rilevare un ParamArray vuoto, verificare se il limite superiore dell'array è inferiore al limite inferiore.
Nota
IsMissing non funziona su tipi di dati semplici (come Integer o Double) perché, a differenza delle varianti, non hanno una predisposizione per un bit di flag "mancante". Per questo motivo, la sintassi degli argomenti facoltativi tipizzati consente di specificare un valore predefinito. Se l'argomento viene omesso quando viene chiamata la procedura, l'argomento avrà questo valore predefinito, come nell'esempio seguente:
Nota
Gli esempi seguenti illustrano l'uso di questa funzione in un modulo di Visual Basic, Applications Edition (VBA). Per altre informazioni sull'uso di VBA, selezionare Riferimenti per sviluppatori nell'elenco a discesa accanto a Cerca e immettere uno o più termini nella casella di ricerca.
Sub MySub(Optional MyVar As String = "specialvalue")
If MyVar = "specialvalue" Then
' MyVar was omitted.
Else
...
End Sub
In molti casi è possibile omettere completamente il If MyVar test rendendo il valore predefinito uguale al valore che si vuole MyVar contenere se l'utente lo omette dalla chiamata di funzione. In questo modo il codice risulta più conciso ed efficiente.
Esempio
In questo esempio viene usata la funzione IsMissing per verificare se un argomento facoltativo è stato passato a una procedura definita dall'utente. Si noti che gli argomenti facoltativi possono ora avere valori e tipi predefiniti diversi da Variante.
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