Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3496|回复: 4

[已解决]触发事件,MSGBOX出现重复提示?

[复制链接]
发表于 2012-6-24 19:36 | 显示全部楼层 |阅读模式
本帖最后由 隐身 于 2012-6-24 19:37 编辑

经过测试,主要是多了保存工作簿那一句的时候,MSGBOX会出现两次相同提示内容。如何避免?
  1. Private Sub Workbook_BeforeClose(Cancel As Boolean)
  2.     tt = MsgBox("您正在关闭工作簿,触发关闭事件" & Chr(10) & "请选择是否保存工作簿!", 3)
  3.     If tt = vbYes Then     ' 用户按下“是”
  4.         MsgBox "Yes"     ' 完成某操作
  5.         ThisWorkbook.Close True
  6.     Else     ' 用户按下“否”
  7.         MsgBox "No"     ' 完成某操作
  8.         ThisWorkbook.Close False
  9.     End If
  10. End Sub
复制代码

2010版本格式:
窗体QueryClose事件.rar (16.53 KB, 下载次数: 4)
发表于 2012-6-24 19:57 | 显示全部楼层    本楼为最佳答案   
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.EnableEvents = False
------------------------
-----------------

评分

参与人数 1 +3 收起 理由
隐身 + 3 淡定

查看全部评分

回复

使用道具 举报

发表于 2012-6-24 19:59 | 显示全部楼层
在if之前
Application.EnableEvents = False
end if之后
Application.EnableEvents = True

评分

参与人数 1 +3 收起 理由
隐身 + 3 淡定

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2012-6-24 20:00 | 显示全部楼层
oobird 发表于 2012-6-24 19:57
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.EnableEvents = False
------------ ...

OK,太谢谢了,之前我用
Application.ScreenUpdating=FALSE
application.DisplayAlerts=FALSE
这两句不行,忘了还有这么一句
回复

使用道具 举报

发表于 2012-6-24 20:11 | 显示全部楼层
  1. Private Sub Workbook_BeforeClose(Cancel As Boolean)
  2.     tt = MsgBox("您正在关闭工作簿,触发关闭事件" & Chr(10) & "请选择是否保存工作簿!", 3)
  3.     If tt = vbYes Then     ' 用户按下“是”
  4.         MsgBox "Yes"     ' 完成某操作
  5.         Me.Save
  6.     ElseIf tt = vbNo Then   ' 用户按下“否”
  7.         MsgBox "No"     ' 完成某操作
  8.         Me.Saved = True
  9.     Else             ' 用户按下“取消”
  10.         Cancel = True
  11.     End If
  12. End Sub
复制代码

评分

参与人数 1 +3 收起 理由
隐身 + 3 很给力!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-20 10:53 , Processed in 0.357476 second(s), 16 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表