C# Excel COMException:未保存0x800A03EC文档

C# Excel COMException:未保存0x800A03EC文档,c#,excel,visual-studio-2010,excel-interop,comexception,C#,Excel,Visual Studio 2010,Excel Interop,Comexception,我正在WinForms应用程序中使用Interop.Excel。该应用程序用于将一些工作表从一个工作簿复制到新创建的工作簿 当我不复制形状时,将保存新创建的工作簿。但是,当我将形状复制到新创建的工作表中时,工作簿不会保存,并且会引发COMException,并显示消息“文档未保存”” 情景: 我正在同时处理三本工作簿 主工作簿-此工作簿包含要写入新工作簿的数据 ResourceWorkbook-包含复制到新工作簿中的工作表 OutputWorkbook-这是结果工作簿 步骤1:打开主工作簿。获取

我正在WinForms应用程序中使用Interop.Excel。该应用程序用于将一些工作表从一个工作簿复制到新创建的工作簿

当我不复制形状时,将保存新创建的工作簿。但是,当我将形状复制到新创建的工作表中时,工作簿不会保存,并且会引发COMException,并显示消息“文档未保存”

情景:

我正在同时处理三本工作簿

主工作簿-此工作簿包含要写入新工作簿的数据

ResourceWorkbook-包含复制到新工作簿中的工作表

OutputWorkbook-这是结果工作簿

步骤1:打开主工作簿。获取要写入OutputWorkbook的数据

步骤2:将数据写入OutputWorkbook

步骤3:从资源文件打开ResourceWorkbook以复制工作表

步骤4:将工作表从ResourceWorkbook复制到OutputWorkbook

步骤5:保存输出工作簿

在步骤5中,如果没有在步骤4中复制图像的工作表,则保存OutputWorkbook。但是,如果有包含图像的工作表,则不会保存OutputWorkbook

我正在使用VS2010和MS Office 2010。

保存输出工作簿。
重新打开它,然后尝试复制。查看它是否有效。

首先尝试用形状覆盖现有excel,如果仍然无效,请创建新的excel文件并复制相同的形状,然后尝试保存以检查系统。如果它被保存下来,那就是代码增强。这就像一个符咒。问题是否是因为在复制之前未保存工作簿??