VBA:无法在Excel外部实现Excel VBS

VBA:无法在Excel外部实现Excel VBS,excel,vba,vbscript,wsh,Excel,Vba,Vbscript,Wsh,我的代码如下所示,它打开一个工作簿并运行相应的宏。通过excel运行此脚本工作正常,但使用相同代码运行.vbs文件不会运行宏。我已经尝试过双击该文件,并通过带有“cscript.exe LaunchMacro.vbs”的cmd提示符运行它。此外,使用WScript.Echo不会打印到我的命令行。我是不是遗漏了什么 谢谢大家! VBS和VBA是不同的 尝试仅将此代码放入vbs文件并运行它: Set xlApp = CreateObject("Excel.Application") xlA

我的代码如下所示,它打开一个工作簿并运行相应的宏。通过excel运行此脚本工作正常,但使用相同代码运行.vbs文件不会运行宏。我已经尝试过双击该文件,并通过带有“cscript.exe LaunchMacro.vbs”的cmd提示符运行它。此外,使用WScript.Echo不会打印到我的命令行。我是不是遗漏了什么

谢谢大家!



VBS和VBA是不同的

尝试仅将此代码放入vbs文件并运行它:

Set xlApp = CreateObject("Excel.Application")    
xlApp.Visible = True   
xlApp.Application.Visible = False

Set xlBook = xlApp.Workbooks.Open("H:\SW Tool Resources\test\tester.xlsm")
MsgBox ("File Opened")
xlApp.DisplayAlerts = False
xlApp.Application.Run ("tester.xlsm!Module3.split")
MsgBox ("Application Should Have Run")
xlBook.Saved = True
xlApp.Quit
我没有测试它,很可能不会成功。但它应该把它放在正确的方向上

编辑:

这里有一些东西可以帮助您开始使用VBS:脚本可以定义一些函数,但只有在您调用它们时才能运行它们

例如,这将仅运行Sub1:

Sub Sub1()
  MsgBox "1"
End Sub
Sub Sub2()
  MsgBox "2"
End Sub
Sub1

尽管vbs与VBA(visual basic for applications)有明显的相似之处,但不幸的是,这并不像从Excel VBA复制和粘贴代码那么容易。我可以问一下,将代码移动到.vbs脚本中的动机是什么吗?+1问题很可能是从未调用该过程。不过,我会删除行
xlApp.Application.Visible=False
xlApp.Visible
xlApp.Application.Visible
是完全相同的属性。首先显示应用程序,然后在下一步中再次隐藏它是没有意义的。另外,我在调试时设置
xlApp.DisplayAlerts=True
。我会添加到Ansgar注释:当你设置
xlApp.Visible=True
时,Excel会加载界面(速度很慢),从现在开始的每个操作都会更新界面(速度很慢)。我会在调试过程中让它可见,然后在一切正常时让它不可见。
Sub Sub1()
  MsgBox "1"
End Sub
Sub Sub2()
  MsgBox "2"
End Sub
Sub1