禁用工作簿的关闭按钮
一般情况下,用户可以通过菜单“文件”→“关闭”、工作簿窗口右上角的“关闭窗口”按钮或者任务栏中图标右键菜单中的“关闭”菜单项关闭工作簿。如果希望禁用上述关闭工作簿的功能,而只能通过代码关闭工作簿,则可以在相应的工作簿事件中实现,如下面的代码所示。
1.Dim BClose As Boolean
2.Private Sub Workbook_BeforeClose(Cancel As Boolean)
3. If BClose = False Then
4. Cancel = True
5. MsgBox "此功能已经被禁止,请使用""关闭""按钮关闭工作簿!",
vbExclamation, "提示"
6. End If
7.End Sub
8.Public Sub CloseWorkbook()
9. BClose = True
10. Me.Close
11.End Sub
代码解析:
第1行代码在模块顶部声明变量BClose为Boolean类型,默认初始值为False。
第2行到第7行代码工作簿的BeforeClose事件过程,通过变量BClose的当前值决定是否能够关闭工作簿,只有当BClose的值为True时,才允许关闭工作簿。如果变量BClose 的值为False时将参数Cancel的值设置为True,以禁止关闭操作。
第8行到第11行代码CloseWorkbook过程,将变量BClose的当前值设置为True后使用Close方法关闭工作簿。
在添加以上代码后,用户只能通过调用CloseWorkbook过程关闭工作簿。如果通过菜单“文件”→“关闭”或者单击工作簿窗口右上角的“关闭窗口”按钮关闭工作簿,将显示如图1所示的消息框。
赞 (0)