从Excel VBA调用.vbs脚本

时间:2012-10-30 05:24:36

标签: vbscript

是否可以在需要时从VBA代码调用.vbs脚本?如果可能的话,你可以给我一个如何做的示例代码吗?

4 个答案:

答案 0 :(得分:21)

运行文件:

Shell "wscript c:\null\a.vbs", vbNormalFocus

如果VBS想要使用控制台,则用wscript替换cscript

或者您可以添加对 Microsoft Script Control 的引用,并直接与VBScript运行时交互以执行VBS代码,程序等;

Dim scr As ScriptControl: Set scr = New ScriptControl
scr.Language = "VBScript"
scr.AddCode "sub T: msgbox ""All Hail Cthulhu"": end sub"
scr.Run "T"

答案 1 :(得分:8)

我只想添加到Alex'回答,在某些环境中,必须按以下方式创建对象:

set scr = CreateObject("MSScriptControl.ScriptControl")

如果Alex将此添加到他的答案中,我将删除此答案。

答案 2 :(得分:0)

试试这样的事情

ChDir ThisWorkbook.Path
Shell "wscript " & ThisWorkbook.Path & "\your.vbs", vbNormalFocus

它帮助了我。

答案 3 :(得分:0)

如果您的路径名包含""",则可能要使用-,对我来说,以下内容可以解决此问题:

Shell "cscript """ & ActiveWorkbook.Path & """\your.vbs", vbNormalFocus