C# Excel间歇性禁用我的加载项

C# Excel间歇性禁用我的加载项,c#,excel,c#-4.0,excel-2010,excel-addins,C#,Excel,C# 4.0,Excel 2010,Excel Addins,我有一个插件,可以在Excel电子表格中填充数组。如果提交的参数错误,它将在一个单元格中写入错误消息 不幸的是,当插件显示错误消息时,Excel实际上禁用了插件。因此,下次重新打开电子表格时,我无法刷新以前正确填充的数组-所有单元格都用#NAME?填充?。此外,我不能定义一个新的数组来通过插件中的任何函数填充-插件中定义的所有函数类别都不可用 但是,当我转到文件->选项->加载项时,插件仍然列为活动插件 我仍然可以通过外接程序->管理Excel外接程序注销插件,然后再次注册。这将恢复功能 有没有

我有一个插件,可以在Excel电子表格中填充数组。如果提交的参数错误,它将在一个单元格中写入错误消息

不幸的是,当插件显示错误消息时,Excel实际上禁用了插件。因此,下次重新打开电子表格时,我无法刷新以前正确填充的数组-所有单元格都用#NAME?填充?。此外,我不能定义一个新的数组来通过插件中的任何函数填充-插件中定义的所有函数类别都不可用

但是,当我转到文件->选项->加载项时,插件仍然列为活动插件

我仍然可以通过外接程序->管理Excel外接程序注销插件,然后再次注册。这将恢复功能


有没有办法确保Excel不会自动禁用我的插件?如果文件中的异常,C++异常,C异常或SEH异常,则

Excel会禁用插件。p>

  • 那是因为他们不应该这么做,这意味着出了问题
  • 当某个计算机程序出现问题时,你无法确定它是否在做它应该做的事情——它可能会破坏你的所有数据,或者存在安全风险
  • Excel对此的响应是阻止它做任何事情
不要抛出异常。使用记录的方法返回错误值


您不需要说明插件的类型-每个插件的方法不同。

这是一个用C#编写的Excel加载项。它不会引发异常。它捕获异常并在一个单元格中显示其消息。请尝试在调试器中运行它,并设置“在所有异常上中断”选项。我敢打赌它会引发一个异常。