【发布时间】:2012-03-07 03:52:25
【问题描述】:
我将在保存工作簿之前显示MessageBox。我尝试过使用事件处理程序Sub App_WorkbookBeforeSave() 和Sub Workbook_BeforeSave,但两者都不起作用!为什么?
插件中有我的Sub:
Private Sub App_WorkbookBeforeSave(ByVal Wb As Workbook, _
ByVal SaveAsUI As Boolean, Cancel As Boolean)
MsgBox "Good bye! Data is save."
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
MsgBox "Good bye! Data is save."
End Sub
更新
我把它们放在ThisWorkbook 属于Microsoft Excel Objects 的模块中
【问题讨论】:
-
第二段代码看起来不错,检查是否启用了宏并且您没有禁用事件。
-
您的
Workbook_BeforeSave为我工作...您确定将它放在ThisWorkbook模块中吗? -
是的,我被放在
ThisWorkbook属于Microsoft Excel Objects -
如果 Workbook_BeforeSave 在插件的工作簿模块中,那么在保存另一个工作簿时它不会被触发。这就是你想要捕捉的吗?如果是这样,那么您需要设置一些应用程序级事件。 Google for“Excel 应用程序事件”
-
@Tim 你是对的!谢谢!
标签: excel vba event-handling subroutine