我有一个VB.NET 2.0可执行文件,我用它来创建每天的大量Excel文件。到目前为止,它一直在安装了Office 2007的XP机器上运行(并使用Office 2007 Interop)。它运作良好多年。
最近,这个盒子失败了,它被升级到Windows 7盒子,也运行了Office 2007.之后,我开始在代码中随机点的SaveAs函数期间出现间歇性错误。
这意味着有时候根本不会发生错误。代码运行得很好。但有时它发生在(例如)它试图SaveAs的第20个文件中(有许多文件包含由多个循环创建的多种不同类型的数据)。然后有时会发生在(例如)第50个文件上。
几乎所有方面都完全随机。我似乎无法追踪它。
我尝试了一些解决方案,包括在此处找到的解决方案:System.Runtime.InteropServices.COMException (0x800A03EC)
...即使这个答案适用于Office Interop 2003(而非2007)。我也试过摆脱文件名路径中的文件扩展名(这是来自另一个站点的建议)。我在SaveAs函数中使用的唯一其他参数是FileFormat(我设置为Excel8)。我已经看过一些关于安全问题的帖子,但我不知道这可能是一个安全问题,因为它不会每次都发生。我真的不知道可能导致这种情况的原因。自XP盒以来,代码没有改变。这种情况的唯一区别是代码运行的O / S(以及新框是64位的事实)。
WATYF