Excel 2010 – '在文件中找不到关系ID rId1的图像部分。 将工作簿的工作表复制到另一个工作簿时

我有一个源Excel的工作簿(XLSM格式),其中有工作表包含图像。 这些工作表通过VB.NET后期绑定以编程方式复制到另一个(目标)工作簿(XLSM)中。 在所有的副本完成后,我保存工作簿并启动它。 在打开的Excel工作簿中,在所有放置图像的位置都看到错误消息“文件中找不到关系ID为rId1的图像部分”。 所有的操作都在客户端机器上完成,没有可用的服务器端代码。

有趣的是,这个问题不会发生在Excel 2013中,它显示的图像正确的问题是只在2010年和2007年观察到的。这是Excel 2010和2007中的一个知道的错误,如果是的话,任何人都可以提供给我的官方链接,我可以跟踪这个问题,并得到一旦可用的热修复。

Dim SourceExcelWorkbook As Excel.Workbook = Nothing Dim TargetExcelWorkbook As Excel.Workbook = Nothing Dim TargetExcelSheets As Excel.Sheets = Nothing Dim SourceExcelSheets As Excel.Sheets = Nothing Dim CopyWorkSheet As Excel.Worksheet = Nothing Dim XLApp As New Excel.Application XLApp.Visible = False XLApp.DisplayAlerts = False XLApp.ScreenUpdating = False Dim pobjExcelWorkbooks As Excel.Workbooks = XLApp.Workbooks SourceExcelWorkbook = pobjExcelWorkbooks.Open("source file path") TargetExcelWorkbook = pobjExcelWorkbooks.Open("target file path") TargetExcelSheets = TargetExcelWorkbook.Worksheets SourceExcelSheets = SourceExcelWorkbook.Worksheets Dim OriginalSheetCount As Integer = TargetExcelSheets.Count Dim SheetCount As Integer = OriginalSheetCount Dim SheetsToBeCopiedCount As Integer = SourceExcelSheets.Count While SheetsToBeCopiedCount > 0 Dim lobjAfterSheet As Object = TargetExcelSheets.Item(SheetCount) CopyWorkSheet = SourceExcelSheets.Item(1) CopyWorkSheet.Move(After:=lobjAfterSheet) SheetCount = SheetCount + 1 TargetExcelWorkbook.Save() SheetsToBeCopiedCount = SheetsToBeCopiedCount - 1 End While TargetExcelWorkbook.Save()