问与答110:如何提示用户使用自定义的按钮退出应用程序?
excelperfect
引言:本文整理自ozgrid.com论坛,有点巧妙的VBA程序。
Q:如果用户单击应用程序右上角的红色X按钮来关闭应用程序,就弹出一个消息框,提示用户使用工作表中自定义的按钮来退出应用程序,如下图1所示。
图1
A:使用的VBA程序代码如下。
在ThisWorkbook代码模块中,输入下面的代码:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'取消右上角红色X关闭应用程序的功能.
Dim Response As VbMsgBoxResult
Application.Speech.Speak '请单击'退出'按钮关闭应用程序!', SpeakAsync:=True
Response= MsgBox('请单击'退出'按钮关闭应用程序!',vbCritical, '示例程序 -' & ActiveSheet.Name)
If Response = vbOK Then Cancel = True
End Sub
插入一个标准模块,输入代码:
Sub Exit_WB()
Dim Msg As String, Ans As Variant
Msg ='想要退出工作簿?'
Ans =MsgBox('想要退出工作簿?'& vbCr, vbYesNo, '示例程序 -' & ActiveSheet.Name)
Select Case Ans
Case vbNo
ActiveSheet.Select
On Error Resume Next
Case vbYes
ActiveSheet.Select
Application.Calculation = xlCalculationAutomatic
ThisWorkbook.Save
Application.Quit
Application.EnableEvents = False
End Select
End Sub
指定工作表中的“退出”按钮关联此过程。