paramarray - vba parameter array




VB-Wie prüfe ich, ob optionale Argumente geliefert werden oder nicht? (4)

Bei einer Variante würde ich die NZ- Funktion verwenden:

Function func (Optional ByRef arg As Variant = Nothing)
    If nz ( arg, 0 ) = 0 Then
        MsgBox "NOT SENT"
    End If
End Function 

Es kann auch mit anderen Datentypen verwendet werden, denken Sie daran, dass Zero weder als Null noch als Nulllänge gilt, also gibt nz(0,"") immer noch 0 zurück.

Wie prüfe ich, ob optionale Argumente angegeben sind oder nicht? - in VB6 / VBA

Function func (Optional ByRef arg As Variant = Nothing)

    If arg Is Nothing Then   <----- run-time error 424 "object required"
        MsgBox "NOT SENT"
    End If

End Function 

Sie können die IsMissing () -Funktion verwenden. Dies funktioniert jedoch nur mit dem Variant-Datentyp.


Verwenden Sie IsMissing :

If IsMissing(arg) Then
    MsgBox "Parameter arg not passed"
End If

Wenn ich mich jedoch richtig erinnere, funktioniert dies nicht, wenn ein Standard für das Argument angegeben wird, und in jedem Fall macht es das Verwenden des Standardarguments eher überflüssig.


Wenn IsMissing (arg) Dann ...





optional-arguments