Подтвердить что ты не робот

Excel 2016 запускает отмену ошибок при сохранении?

Excel 2016, похоже, запускает программно добавленный уровень отмены при сохранении, чего не происходит в более ранних версиях Excel (2013, 2010 и 2007). Чтобы воспроизвести эту очевидную ошибку, откройте новую книгу и сохраните ее как книгу с поддержкой макросов (файл .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

Наконец, сохраните книгу и откройте ее снова. Введите любое значение в любой ячейке, чтобы вызвать событие Application.SheetChange. Сохраните книгу (вам может потребоваться сделать это дважды по какой-либо причине), и появится сообщение в modTest.

Может ли кто-нибудь объяснить, что может происходить здесь, и/или как обойти эту проблему? Если это действительно ошибка, как лучше всего сообщить об этом Microsoft?

Этот код VBA, но поскольку эта проблема затрагивает надстройки VSTO, написанные на VB.NET и С#, тоже включаю теги.

4b9b3361

Ответ 1

Мы подтвердили посредством тестирования и прямой связи с инженерами-программистами MS и персоналом службы поддержки, что эта ошибка исправлена ​​в сборках Office, выпущенных в конце июля/начале августа 2016 года.

Ответ 2

Что ж, сейчас вернемся 06-06-2019. Я перехватываю переменную, если есть какие-либо изменения, с которыми столкнулось событие onChange. Какая боль