【问题标题】:ErrorMessage in ExcelExcel 中的错误消息
【发布时间】:2011-07-11 21:41:17
【问题描述】:

在将 Excel ApplicationClass 的 DisplayAlerts 属性设置为 false 时,我遇到了以下错误的紧急问题。

var excel = new Excel.Application();
excel.DisplayAlerts = false;

我在日志中收到以下错误消息:

System.Runtime.InteropServices.COMException (0x800AC472): Exception from HRESULT: 0x800AC472
     at Microsoft.Office.Interop.Excel.ApplicationClass.set_DisplayAlerts(Boolean RHS)
     at Service.Dispose()

显示如下MessageBox


(来源:xlam.ch

对这个案例有什么想法吗?

问候 MacX

【问题讨论】:

  • 在日志跟踪中添加了另一行。也许 dispose() 是原因?但为什么不总是

标签: c# com excel-2003


【解决方案1】:

我认为您应该在您正在使用的Excel.Application 实例上调用DisplayAlerts。 像这样的:

var excel = new Excel.Application();
excel.DisplayAlerts = false;

【讨论】:

  • @MacX 然后查看this thread。基本上,他们建议您在收到该错误后等待并重试您的呼叫...
  • 你在开玩笑。这不是解决这个问题的真正方法
  • @MacX 是的,不是一个非常令人兴奋的答案,恐怕......我希望有人能提出更好的解决方案
【解决方案2】:

您必须捕获该错误并重新提交您插入到 Excel 单元格中的任何内容。这是一个烦人的错误,我无法实现优雅的解决方案。

如果我错了,有人可以纠正我,但除了捕获此异常之外,我找不到确定 Excel 是否处于“暂停”状态的方法。这就像一个不可避免的竞争条件,在你知道结果之前你不知道结果。我在放弃之前寻找了解决这个问题的方法,并实施了一个丑陋的错误检查解决方案。

对不起,我希望有人比我有更好的解决方案。

【讨论】:

    猜你喜欢
    • 2018-02-28
    • 2017-01-24
    • 1970-01-01
    • 1970-01-01
    • 2018-05-07
    • 2013-06-09
    • 1970-01-01
    • 2015-09-13
    • 1970-01-01
    相关资源
    最近更新 更多