How do I test if optional arguments are supplied or not?
You can use something like:
function func(optional vNum as integer:=&HFFFF) '&HFFFF value that is NEVER set on vNum
If vNum = &HFFFF Then
MsgBox "NOT SENT"
End If
End Function
Use IsMissing
:
If IsMissing(arg) Then
MsgBox "Parameter arg not passed"
End If
However, if I remember correctly, this doesn’t work when giving a default for the argument, and in any case it makes using the default argument rather redundant.
If you are using a string or number variable you can check the value of the variable. For example:
Function func (Optional Str as String, Optional Num as Integer)
If Str = "" Then
MsgBox "NOT SENT"
End If
If Num = 0 Then
MsgBox "NOT SENT"
End If
End Function
This allows you to use non-variant variables.
You can use the IsMissing() Function. But this one only works with the Variant datatype.
Sub func(Optional s As Variant)
If IsMissing(s) Then
' ...
End If
End Sub