【问题标题】:How to Run VBS script from cmd?如何从 cmd 运行 VBS 脚本?
【发布时间】:2009-10-22 19:51:44
【问题描述】:

我有来自Microsoft Support 的以下 vbs 脚本,用于添加 Excel 插件:

Dim oXL As Object
Dim oAddin As Object
Set oXL = CreateObject("Excel.Application")
oXL.Workbooks.Add
Set oAddin = oXL.AddIns.Add("c:\Program Files\MyApp\MyAddin.xla",  True)
oAddin.Installed = True
oXL.Quit
Set oXL = Nothing

我将上述脚本保存到名为 addin.vbs 的文件中,然后从命令控制台运行它:

C:\...>cscript addin.vbs

我收到以下错误:

c:\...\addin.vbs(1, 9) Microsoft VBScript compilation error: Expected end of statement

不确定如何从 cmd 控制台运行它?

我在 Windows XP 上运行它。

【问题讨论】:

    标签: vbscript windows-xp


    【解决方案1】:

    Visual Basic for Applications(用于编写代码的 VBA)和 Visual Basic Sc​​ripting Edition (VBS) 不是同一种语言。

    Windows 脚本宿主(WSH,即cscript.exewscript.exe)仅处理活动脚本语言(在大多数安装中,VBScript 和 JScript)。 VBA 只能在用于托管它的应用程序中运行。

    只需按照 Microsoft 支持页面上的说明将脚本添加到 Excel。

    【讨论】:

    • 我明白了。是否可以转换为VBS代码并从cmd运行?
    【解决方案2】:

    由于As Object 子句而发生错误。与 VBA 不同,VBScript 只有一种数据类型 — Variant,因此在声明变量时无需指定数据类型。删除 As Object 子句,脚本应该可以正常工作:

    Dim oXL, oAddin
    Set oXL = CreateObject("Excel.Application")
    oXL.Workbooks.Add
    Set oAddin = oXL.AddIns.Add("c:\Program Files\MyApp\MyAddin.xla",  True)
    oAddin.Installed = True
    oXL.Quit
    Set oXL = Nothing
    

    【讨论】:

    • 这个运行没有任何错误。但是,我无法弄清楚如何启用它(在加载项管理器窗口中选中它)或取消选中它。不确定有什么代码可以实现这一点?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-19
    • 1970-01-01
    相关资源
    最近更新 更多