如何找到有关错误的更多信息"类型' System.Runtime.InteropServices.COMException' ..."

时间:2015-07-08 14:29:18

标签: c# excel vsto

下面的C#行会产生错误:

Excel.Worksheet wks = (Excel.Worksheet)wbk.Worksheets.Add(After: wbk.Worksheets.Count);

我打算让代码在工作簿wbk中创建一个新的工作表,但不会创建新的工作表。相反,我得到一个错误。

我收到的错误消息是:

  

类型的第一次机会异常   ' System.Runtime.InteropServices.COMException'发生在   Microsoft.Office.Interop.Excel.dll

如何了解有关此错误的详情,以便我可以解决?

查看详细信息告诉我对我没有任何意义。检查异常的错误代码属性,以确定COM对象返回的HRESULT告诉我对我没有任何意义。

我不知道如何从这里继续进行错误搜索。

2 个答案:

答案 0 :(得分:1)

什么属性或方法调用会准确触发异常?

我建议打破调用链并在单独的代码行上声明每个属性或方法。因此,您将能够找到触发异常的确切内容。

还尝试明确指定可选参数:

Excel.Worksheet wks = (Excel.Worksheet)wbk.Worksheets.Add(Type.Missing, wbk.Worksheets[1], Type.Missing, Type.Missing); 

请注意以下事实:您需要指定添加新工作表的工作表,而不是数字!

答案 1 :(得分:0)

错误讯息: 类型为System.Runtime.InteropServices.COMException'的第一次机会异常。发生在Microsoft.Office.Interop.Excel.dll

只是来自已处理异常的通知,您应该尝试一下环绕您的通话: Excel.Worksheet wks =(Excel.Worksheet)wbk.Worksheets.Add(After:wbk.Worksheets.Count);

尝试拦截真正的异常。