As you know, VBScript doesn’t support the declaration of optional parameters in subroutines or functions. So, if you have a function declared as: Myfunction(p1,p2,p3), to simulate optional parameters, you’d have to call it like this:
However, did you know that VBScript doesn’t require you to provide all of a function’s parameters when you call it? For example, the following code also works:
There are a couple of rules to this feature, of course. First, the last parameter is always required. So the first line of code below isn’t legal, but the second line of code is:
MyFunction ,"Hi", MyFunction ,"Hi"," there"
Second, the omitted values aren’t nulls or empty strings. VBScript actually classifies them as a special Error type, which you’ll have to check for in the function using code similar to the following:
Function Myfunction(p1,p2,p3) If VarType(p1) <> VBError Then ... If VarType(p2) <> VBError Then ... End Function