【发布时间】:2020-06-16 19:07:29
【问题描述】:
虽然如果我有以下代码
Private Sub Workbook_BeforeClose(Cancel As Boolean)
MsgBox "Hello"
Application.DisplayAlerts = False
If Not ActiveWorkbook.Saved Then ActiveWorkbook.Save
End Sub
工作簿仍然要求保存为什么?
保存工作簿的excel弹窗后显示“Hello”
预期的行为是避免在关闭它时弹出“是否要保存工作簿”(见下图)
更新
Workbook_BeforeClose 中的所有代码行都被触发了,但是尽管ActiveWorkbook.Save 被触发了,上面的弹出窗口仍然出现
更新 2 最后我想通了,或者至少这个解决方案对我有用 在阅读this post on StackOverflow 之后,我出于好奇禁用了“分析工具包”加载项,然后……现在一切正常。
有没有cmets?
【问题讨论】:
-
您可以禁用警报,尽管您没有提供很多信息。预期的行为是什么?告诉我们出了什么问题只是成功的一半。
-
预期的行为是避免在关闭时弹出“是否要保存工作簿”
-
您应该使用
Me或ThisWorkbook代替ActiveWorkbook。ActiveWorkbook可能完全是其他工作簿。 -
@Tim WIlliams 我也试过了,结果一样