如何从cmd运行VBS脚本?
问题描述:
我从Microsoft Support以下VBS脚本添加Excel插件:如何从cmd运行VBS脚本?
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运行它。
答
Visual Basic for Applications(用于编写代码的VBA)和Visual Basic Scripting Edition(VBS)不是相同的语言。
Windows脚本编写主机(WSH,即cscript.exe
和wscript.exe
)仅处理活动脚本语言(在大多数安装中,VBScript和JScript)。 VBA只能在注定要托管它的应用程序中运行。
只需按照Microsoft支持页面上的说明进行操作,并将该脚本添加到Excel。
答
由于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
+0
这一个运行没有任何错误。但是,我无法弄清楚如何启用它(在加载项管理器窗口中检查它)或取消选中它。不确定任何代码来实现这一目标? – 2009-10-23 16:54:50
我明白了。是否有可能转换为VBS代码并从cmd运行它? – 2009-10-22 20:03:56
我认为这将需要与WS和更多的代码创建Excel对象.. – 2009-10-22 20:05:01