Если пользователь нажимает кнопку «Нет» на XL-сообщении, выводится сообщение «Хотите сохранить изменения?» при выходе - PullRequest
0 голосов
/ 31 мая 2011

У меня есть рабочая книга, в которой я хочу убедиться, что пользователь действительно уверен, что хочет выйти без сохранения изменений.Есть ли способ вызвать сообщение, если пользователь нажимает нет на XL-сообщении "Хотите сохранить изменения?"при выходе?

Я знаю, что есть событие BeforeSave, но оно вызывается ДО приглашения XL, и в моем случае я хотел бы ПОСЛЕ.

Пример:

- User click the X for leaving the Workbook.
- XL prompt user for saving changes.
- User click NO.
- I would like to prompt again something like "ARE YOU SURE?"

Спасибо.

1 Ответ

0 голосов
/ 31 мая 2011

событие Workbook_Deactivate срабатывает после закрытия диалогового окна сохранения.

Вам нужно будет показать модальный MsgBox и обработать ответ, выпустить Thisworkbook.Save, если требуется

Private Sub Workbook_Deactivate()
    Dim res As VbMsgBoxResult
    If Not ThisWorkbook.Saved Then
        res = MsgBox("Save Now?", vbYesNo, "Book Not Saved")
        If res = vbYes Then
            ThisWorkbook.Save
        End If
    End If
End Sub

Имеетпобочный эффект, что если открыто более одной книги, переключение между ними также может привести к пожару

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...