Excel间歇性地禁用了我的加载项

时间:2014-05-01 18:42:02

标签: c# excel c#-4.0 excel-2010 excel-addins

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

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

然而,当我去File - >选项 - >加载项,该插件仍然列为活动状态。

我仍然可以通过加载项取消注册插件 - >管理Excel加载项,然后再次注册。这恢复了功能。

有没有办法确保Excel不会自动禁用我的插件?

1 个答案:

答案 0 :(得分:1)

如果插件抛出异常(C ++异常,C#异常或SEH异常),Excel将禁用该插件。

  • 那是因为他们不应该这样做,这意味着出了问题。
  • 当计算机程序出现问题时,您无法确定它是在做它应该做的事情 - 它可能会破坏您的所有数据,或者存在安全风险。
  • Excel通过停止执行任何
  • 来响应此操作

不要抛出异常。使用记录的方法返回错误值。

你没有说什么类型的插件 - 每个方法都有所不同。