执行 AutoIt 并等待完成

Alb*_*ano 5 shell excel vba autoit

我需要实现一个在 autoit 之后运行的宏,并完成运行它运行宏的其余部分的程序。\n我尝试了 Shellandwait(),但我没有找到解释它的文档。

\n\n

我在该论坛中获取了其他代码示例并得到了以下结果:

\n\n
\nSub autoit()\nDim hProcess As Long\nDim xPath As String\nDim wsh As Object\nDim waitOnReturn As Boolean: waitOnReturn = True\nDim windowStyle As Integer: windowStyle = 1\n\nSet wsh = CreateObject("WScript.Shell ")\n\nxPath = Application.ActiveWorkbook.Path\n\nhProcess = wsh.Run("D:\\Program Files\\autoit-v3\\install\\AutoIt3_x64.exe" _\n& xPath & "\\ Leandro.au3", 0, True)\n\nWorkbooks.Open (xPath & "\\Mudan\xc3\xa7a " & Format(Date, "dd_mm_yyyy") & ".csv")\n\nEnd Sub\n
\n\n

当我运行时它返回给我这个错误:

\n\n
\n

“运行时错误\'-2147024894 (80070002)\':对象\'IWshShell3\'的方法\'Run\'失败”

\n
\n\n

我不知道这意味着什么,也不知道解决方案。

\n

Sam*_*Sam 2

如果xPath其中有空格,则需要将表达式用引号引起来。

尝试这样的事情:

xPath = ActiveWorkbook.Path

With CreateObject("WSCript.Shell")
    .Exec "CMD /C START /WAIT ""D:\Program Files\autoit-v3\install\AutoIt3_x64.exe"" """ & xPath & "\leandro.au3"""
End With
Run Code Online (Sandbox Code Playgroud)