2012-03-19 94 views
2

我間歇性地收到以下異常的DisplayAlerts屬性: enter image description here無法設置應用程序類

如果我通過代碼,它不會發生,我有麻煩工作如何重現它可靠。內部異常爲空。

我在網上搜索,發現在同樣的事情C++ MFC程序員凸輪,但沒有答案: http://www.excelforum.com/excel-programming/555121-unable-to-set-displayalerts-property.html

我也讀到了另一個可能的原因不幸的是,無關其與打開一個電子表格做通過IE。

有人能說清楚這裏發生了什麼嗎?我想 更喜歡瞭解它的根本原因和代碼,而不是使用try-catch。感謝您的任何建議。

ps我沒有寫這段代碼(如果我這樣做的話,會有一個布爾參數爲真假),我只是新來的這個項目,並且想要清理它並使它更加健壯。

+1

您需要添加異常處理以捕獲並報告ErrorCode,如故障診斷提示中所建議的,然後確定Excel抱怨的是什麼。這可能是由許多不同的問題引起的,但是如果沒有ErrorCode,你就會在黑暗中飛行。一旦你找出ErrorCode,如果它是無害的,你可以捕獲異常並忽略它。 – 2012-03-19 01:44:04

+0

@competent_tech澄清你的意思是十六進制錯誤代碼(你可以在操作系統頭文件錯誤信息中使用這個工具查找):http://www.microsoft.com/download/en/details.aspx?id=985 ?你是這個意思嗎? PS我不想要Try-Catch的原因是因爲如果我忽略它會導致從電子表格中刪除msgbox的功能 – 2012-03-19 02:38:56

+1

是的,十六進制錯誤代碼在COMException的ErrorCode屬性中返回(http://msdn.microsoft.com/zh-cn/ .com/en-us/library/system.runtime.interopservices.comexception.aspx)。我不確定這條消息是否會出現在您提供的列表中,但當然不會傷害到那裏。 – 2012-03-19 02:47:59

回答

2

您需要添加異常處理來捕獲並報告ErrorCode,如故障診斷提示中所建議的,然後確定Excel所抱怨的是什麼。

這可能是由許多不同的問題引起的,但是如果沒有ErrorCode,你會在黑暗中飛行。一旦你找出ErrorCode,如果它是無害的,你可以捕獲異常並忽略它。

十六進制錯誤代碼在本例中引發的COMException的ErrorCode屬性中返回。我不確定這條消息是否會出現在您提供的列表中,但當然不會傷害到那裏。