我编写了一个将 1000 多个 Excel 文档转换为 PDF 的应用程序(我知道这是一种缓慢的方法,但我并不担心速度),使用与此相同的技术,但用于 Excel 而不是 Word。
我需要添加以下代码:
book.ResetColors();
这是在 Workbook 对象上。在大多数情况下,这可以正常工作,但对于某些文件,我收到以下错误(发出不相关的位):
Exception from HRESULT: 0x800A03EC
System.Runtime.InteropServices.COMException: Exception from HRESULT: 0x800A03EC
at Microsoft.Office.Interop.Excel.WorkbookClass.ResetColors()
如果我在 VBA 中使用 Excel 宏做同样的事情,我会收到此错误:
Run-time error '1004':
Method 'ResetColors' of object '_Workbook' failed
电子表格本身没有宏代码。唯一似乎很常见的是它们有大量的床单。
以前有没有人遇到过这种情况,你知道有什么好的解决方法吗?目前我唯一的想法是检测错误并手动转换文件(糟糕)。理想情况下,我希望 API 中有一些东西可以用来确定这个方法调用是否会失败。我在谷歌上看了看,找不到任何有用的东西。