禁用工作簿的关闭按钮

一般情况下,用户可以通过菜单“文件”→“关闭”、工作簿窗口右上角的“关闭窗口”按钮或者任务栏中图标右键菜单中的“关闭”菜单项关闭工作簿。如果希望禁用上述关闭工作簿的功能,而只能通过代码关闭工作簿,则可以在相应的工作簿事件中实现,如下面的代码所示。

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)

相关推荐