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の2番目のインスタンスを開き、そこから自動保存ブックに1つのセルをコピーすると、Excel2007がクラッシュします。(同様の状況でRPC_E_SERVERFAULTエラーも発生しました。)Excel 2010では、ファイルは期待どおりに保存されます。
この動作の根本的な原因となる可能性のあるアイデアと、それを回避する方法はありますか?
アップデート
さらに悪いようです。あるExcel(2007)インスタンスから別のインスタンスにデータをコピーし、XMLスプレッドシートExcelがクラッシュしたときにターゲットブックを保存するとします。これを2台のマシンで試しましたが、これは既知のバグですか?