如何关闭从 Excel-VBA 脚本调用的 .exe 的错误消息?

How to close an error message from an .exe called from a Excel-VBA script?

从 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 关闭错误 windows?

代码调用程序并正确运行 .exe 并生成对我有用的所有数据,但要将数据返回给我 sheet 我必须同意 window(因为 waitonreturn=true):

我的 VBA 代码似乎无法影响违规行为,但它不会影响我执行代码所需计算所需的 .exe 部分。与其深入研究外部软件的内存访问冲突,我希望通过直接从 VBA 代码确定它来解决这个问题。

如果我在该错误消息上单击“确定”,就我的代码而言,一切都是完美的。我不需要 .exe 来保存导致错误的文件,而且我已经有了我需要的数据。

是否可以从我的 excel-VBA 代码中消除来自外部软件的错误 window?

注意:错误来自 .exe 程序,而不是 excel 本身。

这是一个简单的 sendkeys 示例,它将打开记事本,然后发送一个回车键:

Sub SendEnterToNotepad()
    With Application
        Shell "Notepad.exe", 3
        SendKeys "{ENTER}"
    End With
End Sub