Excel代码中的消息(C#)

当我的代码运行时,我有一个从Excel中popup的消息框重试,我只是想让我的代码能够模拟input密钥,如果它popup每次它。 这是出现并冻结我的代码的消息框。

在这里输入图像说明

我使用OLE消息closures了其中的一个,但是我还是得到了这个消息箱来模拟点击重试或input密钥的方法。

//Turn off OLE Error Message oXL.DisplayAlerts = false; 

InputSimulator是一个非常灵活(可靠)的包装,它能够模拟键盘和鼠标事件。

它将SendInput包装在内部,但将所有PInvoke调用和其他复杂性抽象出来。 这是一个DLL的下降(对于你的情况)应该只需要一行代码。

 InputSimulator.SimulateKeyPress(VirtualKeyCode.ENTER); 

您可以尝试发送密钥,将关键笔划发送到消息框

我想知道如果问题是由于你有一个大的循环,从来没有使用Application.DoEvents()调用引起的? 至于驳回这个消息,似乎是一个不好的方法来解决我的问题。