首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >调用Sub错误800A0414 VBS时不能使用括号

调用Sub错误800A0414 VBS时不能使用括号
EN

Stack Overflow用户
提问于 2013-02-16 03:41:23
回答 2查看 79.7K关注 0票数 26

我在此脚本的第7行和第12行收到800A0414错误:

代码语言:javascript
复制
Module Module1

  Dim p

    Sub Main()
        CreateObject("Wscript.Shell").Run("program.bat", 0, True)

        p = Process.GetProcessesByName("program")
        If p.Count > 0 Then
            WScript.Sleep(300000)
        Else
            CreateObject("Wscript.Shell").Run("program clean up.bat", 0, True)
        End If

    End Sub

    Private Function WScript() As Object
        Throw New NotImplementedException
    End Function

End Module

我正在尝试运行一个批处理脚本,该脚本启动一个进程,然后等待该进程终止,然后运行另一个批处理脚本。我也不希望显示任何命令框。如果他们的方法更简单,请让我知道。

谢谢你的帮忙

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-16 16:08:02

将过程的参数列表括在括号中时,必须使用Call关键字:

代码语言:javascript
复制
Call CreateObject("WScript.Shell").Run("program.bat", 0, True)

如果省略Call关键字,还必须删除括号:

代码语言:javascript
复制
CreateObject("WScript.Shell").Run "program.bat", 0, True
票数 55
EN

Stack Overflow用户

发布于 2013-02-16 22:11:43

在我看来,这是一个VB.NET代码,而不是VBScript代码。在VB.NET (和其他方法)中有Shell function

无论如何,Run将返回程序返回的任何错误代码,如果将结果存储在变量中,则可以在本例中使用括号。

代码语言:javascript
复制
Dim lResult As Long
lResult = CreateObject("Wscript.Shell").Run("program.bat", 0, True)

剩下的问题由“海伦”回答。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14902134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档