Excel COMException:0x800A03EC 文档未保存
Posted
技术标签:
【中文标题】Excel COMException:0x800A03EC 文档未保存【英文标题】:Excel COMException : 0x800A03EC Document not saved 【发布时间】:2015-04-22 10:32:17 【问题描述】:我在我的 WinForms 应用程序中使用 Interop.Excel。该应用程序用于将一些工作表从一个工作簿复制到新创建的工作簿。
当我不复制形状时,会保存新创建的工作簿。但是,当我将形状复制到新创建的工作表中时,不会保存工作簿,并且会引发 COMException 并显示消息“Document not saved”。
场景:
我同时处理三个工作簿。
MainWorkbook - 此工作簿包含要写入新工作簿的数据。
ResourceWorkbook - 这包含复制到新工作簿中的工作表。
OutputWorkbook - 这是结果工作簿。
第 1 步:打开 MainWorkbook。获取要写入 OutputWorkbook 的数据。
第 2 步:将数据写入 OutputWorkbook。
第 3 步:从资源文件中打开 ResourceWorkbook 以复制工作表。
第 4 步:将工作表从 ResourceWorkbook 复制到 OutputWorkbook。
第 5 步:保存 OutputWorkbook。
在步骤 5 中,如果在步骤 4 中没有复制图像的工作表,则保存 OutputWorkbook。但是,如果存在包含图像的工作表,则不会保存 OutputWorkbook。
我正在使用 VS2010 和 MS Office 2010。
【问题讨论】:
首先尝试用形状覆盖现有的 excel,如果仍然无法正常工作,请通过创建新的 excel 文件并复制相同的形状并尝试保存来检查您的系统。如果它被保存,那么它就是代码增强。 【参考方案1】:保存您的 OutputWorkbook。 重新打开它,然后尝试复制。看看它是否有效。
【讨论】:
这就像一个魅力。问题是因为在复制之前没有保存工作簿吗??以上是关于Excel COMException:0x800A03EC 文档未保存的主要内容,如果未能解决你的问题,请参考以下文章
System.Runtime.InteropServices.COMException (0x800A03EC)
System.Runtime.InteropServices.COMException (0x800A03EC): 无法访问文件
通过 COM 读取 Office PPT 文件提示 COMException 错误码 0x80004005 可能原因