When you enclose a procedure’s argument list in parentheses, you must use the Call
keyword:
Call CreateObject("WScript.Shell").Run("program.bat", 0, True)
If you omit the Call
keyword, you must also drop parentheses:
CreateObject("WScript.Shell").Run "program.bat", 0, True