2011-03-09 39 views
3

將Excel ApplicationClass的DisplayAlerts屬性設置爲false時,出現以下錯誤。Excel中的ErrorMessage

var excel = new Excel.Application(); 
excel.DisplayAlerts = false; 

我在日誌中收到以下錯誤信息:

System.Runtime.InteropServices.COMException (0x800AC472): Exception from HRESULT: 0x800AC472 
    at Microsoft.Office.Interop.Excel.ApplicationClass.set_DisplayAlerts(Boolean RHS) 
    at Service.Dispose() 

以下的MessageBox顯示在這種情況下

http://www.xlam.ch/xlimits/Nicht-genug-Speicher-fuer-vollstaendige-Anzeige.gif

任何想法?

問候 的MacX

+0

在對數軌中增加了一行。可能dispose()是原因?但爲什麼不總是 – MacX 2011-03-10 14:17:53

回答

0

我想你應該對你正在使用的的Excel.Application實例調用DisplayAlerts。 事情是這樣的:

var excel = new Excel.Application(); 
excel.DisplayAlerts = false; 
+0

就是這樣。只是快速寫下來 – MacX 2011-03-09 13:34:09

+0

@MacX然後看看[這個線程](http://social.msdn.microsoft.com/forums/en-US/vsto/thread/9168f9f2-e5bc-4535-8d7d-4e374ab8ff09/)。基本上,他們建議等待,並在您發現錯誤後重試您的電話... – 2011-03-09 13:55:43

+0

你開玩笑。這是不是真正的解決這個問題 – MacX 2011-03-09 14:12:49

0

你必須抓住這個錯誤並重新提交無論你插入的Excel單元格。這是一個惱人的錯誤,我一直無法實現和優雅的解決方案。

有人可以糾正我,如果我錯了,但我找不到方法來確定Excel是否處於「暫停」狀態或除了捕捉此例外。這就像一個不可避免的競爭條件,在你知道結果之前你不知道結果。我在尋找解決方法之前放棄並實施了一個醜陋的錯誤檢查解決方案。

對不起,我希望有人比我有更好的解決方案。