是否可以在需要时从VBA代码调用.vbs脚本?如果可能的话,你可以给我一个如何做的示例代码吗?
答案 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