如何使用Microsoft.Office.Interop打开文件时禁用弹出窗口

Bru*_*Dou 19 c# ms-office office-interop office-pia

如只读确认,其他警报.这些弹出窗口怎么办?还是忽略它们?

dot*_*kow 32

在这里看到我的答案.

基本上,您通过"显示警报"方法禁用所有警报:

Microsoft.Office.Interop.[OFFICE_APP].Application app = new Microsoft.Office.Interop.[OFFICE_APP].Application();
app.DisplayAlerts = false;
Run Code Online (Sandbox Code Playgroud)

其中[OFFICE_APP]是您正在使用的Office程序的名称,例如Word,Excel等.

  • 截至Interop 2013你不能使用true或false,而是使用Word.WdAlertLevel.wdAlersNone/... (7认同)
  • 我设置了这个,但也有一个只读确认框等弹出窗口. (2认同)

小智 6

这是阻止要求您允许宏的安全消息的另一种替代方法。

我从 MSDN 上阅读了这篇文章,并找出了以下代码:

Application wordApp = new Application()
{
    Visible = false,
    AutomationSecurity = Microsoft.Office.Core.MsoAutomationSecurity.msoAutomationSecurityForceDisable
};
Run Code Online (Sandbox Code Playgroud)

由于在打开文件之前制作了文件的副本,因此我不必将 AutomationSecurity 更改回默认设置。