VBA Excel等待shell与ansys完成

时间:2013-08-29 12:40:46

标签: excel shell vba excel-vba

我已经写了一个宏来运行Ansys,如果Ansys关闭,宏应该运行。

我的问题在于我使用一些脚本运行Ansys,因此运行它的代码是

retval = shell("C:\...\runwb2 -X -R C:\...\Script.py -F C:\...\Workbenchproject.wbpj", vbNormalFocus)

这完全正常,直到我想等待它完成

使用

Dim wsh As Object  
Set wsh = VBA.CreateObject("WScript.Shell") 
cmd = "C:\...\runwb2 -X -R C:\...\Script.py -F C:\...\Workbenchproject.wbpj"  
retval = wsh.Run(cmd, 1,True)

给我一​​个运行时错误-2147024894(0x80070002)

如果有可能我不想使用像我之前发现的那样大的ShellAndWait那么简单

提前致谢

2 个答案:

答案 0 :(得分:0)

暂停五秒......

'// Start Code Snippet

Application.Wait TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) + 5)

'// End Code Snippet

但是,根据您的代码,您将WaitOnReturn设置为TRUE,它应该按照您的意愿执行...所以我不知道您为什么会收到错误。如果这有帮助请告诉我..谢谢,Brian

答案 1 :(得分:0)

如果找到了我的问题。 运行ANSYS Workbench的路径是文件夹“ANSYS Inc”的默认安装路径,如果我使用shell(),则空间不是问题但是如果我使用WScript.Shell,则空间会产生运行时错误。我不得不改变路径,所以没有更多的空间,现在它工作正常