0

尽管以下背景信息与该问题不太相关,但我将其包括在内,以防您好奇:

我在跑步:

xlWorkBook.RefreshAll();

在 Excel 工作簿上,有时我会收到以下消息:

在此处输入图像描述

使用 c# .NET 3.5 我想在检测到它后立即摆脱这个弹出窗口。

如何以编程方式检测并关闭它/按确定?

请注意,即使它在后台,我也希望能够识别此弹出窗口!

4

2 回答 2

4

您应该能够将显示警报设置为 false 并避免这些

Application.DisplayAlerts = False
于 2012-10-17T20:46:55.627 回答
0

您可以使用Application.DisplayAlerts = False来抑制警报/弹出窗口。但是,理想情况下,这不应该是正确的行为。当我们调用RefreshAll()并显示错误弹出窗口时,excel不会刷新数据。它仍然会显示旧数据。

为了解决这个问题,您可以保留Application.DisplayAlerts=True并创建两个线程:一个会打开 excel 应用程序并调用 RefreshAll(),另一个会等待指定的时间(比如 20 分钟)。如果第一个线程在 20 分钟内没有返回(可能是由于弹出),则第二个线程将终止 excel 进程。第一个线程将被释放,并将记录文件未刷新的异常。

于 2015-05-29T09:18:56.837 回答