从 vba 调用外部 .exe 文件时,如下所示:
Sub RunEXE()
Dim wsh As Object
SetCurrentDirectory "\\path\" 'Set Directory
Set wsh = VBA.CreateObject("program.exe ""\\path\argument""", WindowStyle:=1, waitonreturn:=True)
是否可以直接从 VBA 关闭错误窗口?
代码调用程序并正确运行 .exe 并生成对我有用的所有数据,但要将数据返回到我的工作表,我必须确定此窗口(因为 waitonreturn=true):
违规似乎是我无法从我的 VBA 代码中影响的东西,但它不会影响我需要的 .exe 部分,以便执行我的代码所需的计算。与其深入研究外部软件的内存访问冲突,我希望通过直接从 VBA 代码确定它来解决这个问题。
如果我在该错误消息上单击“确定”,就我的代码而言,一切都是完美的。我不需要 .exe 来保存导致错误的文件,而且我已经有了我需要的数据。
是否可以从我的 excel-VBA 代码中消除来自外部软件的错误窗口?
注意:错误来自 .exe 程序,而不是 excel 本身。
最佳答案
这是一个简单的 sendkeys 示例,它将打开记事本,然后发送一个回车键:
Sub SendEnterToNotepad()
With Application
Shell "Notepad.exe", 3
SendKeys "{ENTER}"
End With
End Sub
关于windows - 如何关闭从 Excel-VBA 脚本调用的 .exe 的错误消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47771171/