虽然以下背景资料与问题不太相关,但如果您感到好奇,我会将其包括在内:
我正在跑步:
xlWorkBook.RefreshAll();
在Excel工作簿上,有时我收到此消息:
使用c#.NET 3.5我想在检测到它后立即删除它。
如何以编程方式检测并关闭它/按OK?
请注意,我希望能够识别此弹出窗口,即使它在后台!
答案 0 :(得分:4)
您应该能够将显示警报设置为false并避免这些
Application.DisplayAlerts = False
答案 1 :(得分:0)
您可以使用Application.DisplayAlerts = False
来抑制警报/弹出窗口。但是,理想情况下,这应该是正确的行为。当我们调用RefreshAll()
并显示错误弹出窗口时,excel不会刷新数据。它仍会显示旧数据。
为了解决这个问题,你可以保留Application.DisplayAlerts=True
并创建两个线程:一个可以打开excel应用程序&调用RefreshAll()和其他将等待指定的时间(比如20分钟)。如果第一个线程没有在20分钟内返回(可能是由于弹出),第二个线程将杀死excel进程。第一个线程将被释放,它将记录文件未刷新的异常。