我在Excel 2007加载项中遇到一个奇怪的错误,似乎可以通过几行宏代码重现(更新:即使没有代码,请参见下文)。
打开一个新工作簿并将以下代码添加到第一个工作表中。
Private Sub Worksheet_Change(ByVal Target As Range)
Application.DisplayAlerts = False ' Suppress macro and overwrite warnings
ActiveWorkbook.SaveAs "test.xml", XlFileFormat.xlXMLSpreadsheet
End Sub
现在,每次更改都会将工作簿保存为XML电子表格文件。
但是,当我打开第二个Excel实例并将单个单元格从那里复制到自动保存工作簿时,Excel 2007崩溃了。 (在类似的情况下,我也看到了RPC_E_SERVERFAULT错误。)在Excel 2010中,文件按预期保存。
任何想法可能是这种行为的根本原因以及如何避免它?
更新
似乎情况更糟:如果我将数据从一个Excel(2007)实例复制到另一个实例并将目标工作簿保存为XML电子表格Excel崩溃。我在两台机器上试过这个,这是一个已知的bug吗?