Я работаю с 2 различными раскладками клавиатуры (qwerty и azerty) и постоянно переключаюсь между ними с помощью Alt-Shift.Иногда, когда я пытаюсь отменить Ctrl-Z, я получаю вместо этого Ctrl-W, который закрывает документ.Вообще говоря, в этих ситуациях я получу подсказку для сохранения, которая предупредит меня о моей ошибке.Однако сейчас я использую OneDrive с автосохранением документов, над которыми я работаю.В результате этого никогда не появляется запрос на сохранение.Документ мгновенно закрывается, и, что еще хуже, отмена, которую я пытался выполнить, больше не появляется при повторном открытии документа.
Я хотел бы использовать VBA, присоединенный к шаблону Normal, такой, чтопри закрытии любого документа, созданного с помощью шаблона VBA, я проверю, включено ли автосохранение, и, если это так, подтвердите перед закрытием в окне сообщения.Очевидно, что если пользователь не подтвердит (например, выберет Отмена), то документ не должен закрываться.
Сначала я поместил свой код в Document_Close, но вскоре понял, что здесь уже слишком поздно, чтобы отменить закрытие.Это не хорошо для меня.Затем, основываясь на некотором онлайн-коде, я помещаю свой код в модуль класса (EventClassModule).В модуле ThisDocument я инициирую класс и активирую обработчик событий.Мой код, кажется, никогда не запускается, или в любом случае точки останова не срабатывают.
Я немного не уверен в том, где останавливается Normal, и начинается мой обычный документ ...
В этом документе нормального шаблона у меня есть этот VBA
Dim X As New EventClassModule
Sub Register_Event_Handler()
Set X.App = Word.Application
End Sub
Private Sub Document_Open()
Register_Event_Handler
End Sub
И у меня есть модуль класса с именем EventClassModule со следующим
Public WithEvents App As Word.Application
Private Sub App_DocumentBeforeClose(ByVal Doc As Document, Cancel As Boolean)
Dim res As VbMsgBoxResult
If Me.AutoSaveOn Then
res = MsgBox("OK to Confirm", vbOKCancel, "Closing Document")
If res = vbCancel Then
Cancel = True
End If
End If
End Sub
Я хотел бы получить запрос на подтверждение сохранения, любойкогда документ закрыт и опция автосохранения отключена.