Excel 2016触发撤消保存错误?

Excel 2016似乎在保存时触发以编程方式添加撤销级别,这在早期版本的Excel(2013,2010和2007)中不会发生。 要重现这种明显的错误,请打开一个新的工作簿并将其保存为启用macros的工作簿(.xlsm文件)。 将以下代码粘贴到ThisWorkbook模块中:

Option Explicit Public WithEvents App As Application Private Sub Workbook_Open() Set App = Application End Sub Private Sub App_SheetChange(ByVal Sh As Object, ByVal Target As Range) Application.OnUndo "foo", "modTest.Undo" End Sub 

然后,插入一个名为modTest的新模块并粘贴以下代码:

 Public Sub Undo() MsgBox "This is the Excel 2016 bug." End Sub 

最后,保存工作簿并重新打开它。 在任何单元格中input任何值以触发Application.SheetChange事件。 保存工作簿(出于某种原因,您可能需要这样做两次),并且将显示modTest的消息。

任何人都可以解释这里可能会发生什么,和/或如何解决这个问题? 如果这确实是一个错误,那么向Microsoft报告的最好方法是什么?

这个代码是VBA,但是由于这个问题会影响用VB.NET和C#编写的VSTO插件,所以我包含了这些标签。

我们已经通过与MS软件工程师和支持人员的testing和直接沟通确认,这个错误在2016年7月底/ 8月初发布的Office版本中得到修复。