Word 自动化 - 禁用警报

Jas*_*ter 5 .net c# ms-word office-interop

我正在自动化 Word,所以我想取消所有警报。

Word.Application word = new Word.Application();
word.DisplayAlerts = Microsoft.Office.Interop.Word.WdAlertLevel.wdAlertsNone;
Run Code Online (Sandbox Code Playgroud)

我使用上面列出的代码,但我不断收到来自 Word 的消息 - 例如,文档已经打开。有没有办法避免这种情况?如何抑制所有这些愚蠢的消息框?

编辑
考虑所有答案,我想看门狗确实是唯一的选择。糟糕的是,过去几年没有任何变化。

线程可以在没有真正答案的情况下关闭。

Cod*_*ray 6

您发布的代码部分显然是正确的,但我无法重现您所描述的行为。然而...

我强烈怀疑答案是您不能完全抑制 Word 中的消息。它被设计为一个用户交互式应用程序,DisplayAlerts设置有点像一个命中注定的命题。某些错误看起来像是可以从指定的警报设置中免除并且无论如何都会显示。例如,我以前见过拼写和语法错误的行为是这样的。

最好的办法是尝试预测可能发生的错误并避免产生它们。在您的情况下,您应该检查您要打开的文档是否已经打开。我不确定为什么您首先会生成此错误(您是否捕获错误然后搜索文档的现有实例以对其进行操作,或者您的代码如何继续运行?),但是在开始执行相关代码之前插入一些保护子句应该相当简单。

  • 我强烈怀疑答案是您不能完全抑制 Word 中的消息。-> 这个说法是正确的。您永远无法取消 Word 中的所有消息。 (5认同)