This often happens because you used a
VBScript "friendly name" constant in
place of its integer equivalent.
Visual Basic understands these
friendly names, such as
FileSystemObject's 'forAppending' and
'forWriting' constants.
or
Another possible cause is trying to
use a string operation (like Mid(),
InStr(), Left() or Right()) on a NULL
value.
or
Another possibility is that you are
coming over from JavaScript, or
otherwise think that string lengths
are 0-based.
or
Still one more possibility is that you have unexpected characters in an FSO writeline call.
This Microsoft Support article could also be helpful:
When you assign a user-defined type to
a Variant in a multithreaded
environment (for example, in Microsoft
COM+ or in Microsoft Internet
Information Server [IIS]), you may
receive an "Invalid Procedure Call"
error message or an access violation
(0xC0000005) in MSVBVM60.dll.
Look at this article which explains some possible reasons:
Why do I get 'Invalid procedure call or argument'?
or
or
or
This Microsoft Support article could also be helpful:
"Invalid Procedure Call" Error Message or Access Violation When You Try to Assign User-Defined Type to Variant