我需要实现一个在 autoit 之后运行的宏,并完成运行程序,它运行宏的其余部分。 我尝试了 Shellandwait(),但没有找到解释它的文档。
我在论坛上获取了其他代码示例并得到了这个:
Sub autoit() Dim hProcess As Long Dim xPath As String Dim wsh As Object Dim waitOnReturn As Boolean: waitOnReturn = True Dim windowStyle As Integer: windowStyle = 1 Set wsh = CreateObject("WScript.Shell") xPath = Application.ActiveWorkbook.Path hProcess = wsh.Run("D:\Program Files\autoit-v3\install\AutoIt3_x64.exe " _ & xPath & "\leandro.au3", 0, True) Workbooks.Open (xPath & "\Mudança " & Format(Date, "dd_mm_yyyy") & ".csv") End Sub
当我运行时,它返回此错误:
"Run-time error '-2147024894 (80070002)': Method 'Run' of object 'IWshShell3' failed"
我不知道这意味着什么,也不知道解决方案。
最佳答案
如果 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
关于excel - 执行 AutoIt 并等待完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33808699/