如果用户在XL消息上单击否,则提示消息“是否要保存更改?”在离开

时间:2011-05-31 08:48:35

标签: excel excel-2007

我有一个工作簿,我想确保用户确信他想要在不保存更改的情况下退出。如果用户在XL消息上单击否,是否有提示消息的方法“是否要保存更改?”离开?

我知道有一个BeforeSave事件,但是这个事件是在XL提示之前触发的,在我的情况下,我想要AFTER。

示例:

- 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 :(得分:0)

解除保存对话框后,将触发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

副作用是,如果打开多本书,在它们之间切换也可以解除这些问题