Vbscript cscript命令与visualstudio中vb代码编译的差异

Vbscript cscript命令与visualstudio中vb代码编译的差异,vbscript,Vbscript,我在visual basic中有以下代码,我正在visual studio中运行这些代码 Module Module1 Sub Main() On Error GoTo errorHandler Dim oLapp As Object Dim oItem As Object oLapp = CreateObject("Outlook.application")

我在visual basic中有以下代码,我正在visual studio中运行这些代码

    Module Module1

        Sub Main()



            On Error GoTo errorHandler
            Dim oLapp As Object
            Dim oItem As Object

            oLapp = CreateObject("Outlook.application")
            oItem = oLapp.createitem(0)
            '
            With oItem
                .Subject = "A MAIL"
                .To = "an_email_id@outlook.com"
                .body = "2018 RUSSIA IS OURS"
                .Send
            End With
            Console.Write("KROOOOOOOOSSSSSS")
            Console.Read()
            'Set oLapp = Nothing
            'Set oItem = Nothing

    errorhandler:
            Console.Write("jkjk")
        End Sub

End Module
此代码旨在通过outlook发送电子邮件。然而,我想通过命令提示符来实现这一点,并且我了解了“cscript”命令,该命令用于在windows命令提示符下运行VB脚本

因此,我将以下代码放在记事本文件中,并以.vbs扩展名保存它。然后,当我尝试使用cscript调用此文件时,出现了一个错误。 它说col23第7行有语法错误

这条线原来是:

On Error goto Errhandler 
因此,我对该行进行了注释,并再次尝试运行,但在第8行再次出现错误,指出“预期语句结束”

所以,我认为cscript可能仍然支持“set”和“let”,因此将set放在第8行,我再次遇到同样的错误


那么,这两个地方的visual basic代码的编译是否有任何不同。此处提供的代码中,可以通过cscript运行并执行通过outlook发送电子邮件任务的等效代码是什么。

VB不是VBScript,这两种语言之间有许多不同之处,其中之一就是VBScript不支持错误转到时的
。但是,它确实支持错误下一步恢复时的
,然后您可以在每个可能失败的语句后检查
Err.Number
变量。有趣的是,VBScript中支持错误转到0时的
语法(它实际上在错误下一步恢复时反转
)。另外,未赋值变量是
空的
并且等于0,但是
错误转到Errhandler
(如果
Errhandler
空的
或者
错误转到空的
都会产生语法错误。@llagstorm:很高兴知道这些区别。谢谢。你们两位