2012-03-19 99 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属性中返回。我不确定这条消息是否会出现在您提供的列表中,但当然不会伤害到那里。