2011-04-07 61 views

回答

21

見我的回答here.

基本上,你通過「顯示警報」方法禁用所有警報:

Microsoft.Office.Interop.[OFFICE_APP].Application app = new Microsoft.Office.Interop.[OFFICE_APP].Application(); 
app.DisplayAlerts = false; 

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

+2

我已經設置了這個,但是那裏還有一個彈出窗口,用於只讀確認框等 – 2011-04-08 04:29:27

+1

是您主要關注的只讀確認框嗎?如果是這樣,您是否試圖在open()方法中將ReadOnly設置爲false並且/或者IgnoreReadOnlyRecommended設置爲true來打開文檔?在這裏看到我指的是:[Workbooks.Open](http://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel.workbooks.open(v = office.11​​) .aspx) – dotNetkow 2011-04-08 14:58:42

+4

自Interop 2013起,您不能使用true或false,而是使用Word.WdAlertLevel.wdAlersNone/... – CantGetANick 2013-09-09 08:28:29

0

試試這個:

Microsoft.Office.Interop.Word.Application appWord = new 
Microsoft.Office.Interop.Word.Application(); 

appWord.DisplayAlerts = Microsoft.Office.Interop.Word.WdAlertLevel.wdAlertsNone; 

這將禁用彈出窗口。

+0

這個答案在已發佈的其他答案上添加了什麼? – 2017-04-15 07:43:15

1

這是另一種防止安全消息要求您允許使用宏的替代方法。

我從MSDN讀this article想通了下面的代碼:

Application wordApp = new Application() 
{ 
    Visible = false, 
    AutomationSecurity = Microsoft.Office.Core.MsoAutomationSecurity.msoAutomationSecurityForceDisable 
}; 

開業以來,它之前,我沒有改變AutomationSecurity回默認設置文件的副本。

相關問題