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

如只读确认,其他警报。 这些弹出窗口怎么办?还是忽略它们?     
已邀请:
在这里看到我的答案。 基本上,您通过“显示警报”方法禁用所有警报:
Microsoft.Office.Interop.[OFFICE_APP].Application app = new Microsoft.Office.Interop.[OFFICE_APP].Application();
app.DisplayAlerts = false;
其中[OFFICE_APP]是您正在使用的Office程序的名称,例如Word,Excel等。     
这是另一种阻止安全性消息要求您允许宏的替代方法。 我从MSDN上阅读了这篇文章并找出了以下代码:
Application wordApp = new Application()
{
    Visible = false,
    AutomationSecurity = Microsoft.Office.Core.MsoAutomationSecurity.msoAutomationSecurityForceDisable
};
由于在打开文件之前会创建该文件的副本,因此我不必将AutomationSecurity更改回默认设置。     
试试这个:
Microsoft.Office.Interop.Word.Application appWord = new 
Microsoft.Office.Interop.Word.Application();

appWord.DisplayAlerts = Microsoft.Office.Interop.Word.WdAlertLevel.wdAlertsNone;
这将禁用弹出窗口。     
添加注释:对于某些受密码保护的文件格式(我测试过.XLS,但也可能是其他文件格式),
app.DisplayAlerts = false
不会绕过密码对话框。 在这种情况下,您只需在打开时传递假密码,这将导致错误。如果你想要抓住它。
var app = new Application();
app.DisplayAlerts = false;
var workbook = app.Workbooks.Open(filePath, "fakePassword"); // Bypasses dialog, throws error
在这种情况下,抛出的错误是:   System.Runtime.InteropServices.COMException:您提供的密码   是不正确的。验证CAPS LOCK键是否已关闭并确保   使用正确的大写。     

要回复问题请先登录注册