Excel中的“想要保存更改”对话框后无法捕获

  1. 在Word VSTO中,我们有一个DocumentBeforeSave事件,它在“想要保存您的更改”对话框后被调用,我可以轻松取消标准的保存对话框并显示我自己的。

  2. 但是在Excel中,VSTO WorkbookBeforeSave是在保存对话框closures后调用的,它使得我自己的保存对话框在内置之后显示。 我可以使用WorkbookBeforeClose事件,但是我应该显示自己的“想要保存您的更改”对话框,并且自动保存function在按“不保存”时也不起作用。

有没有办法在Excel中的“想要保存更改”对话框后立即调用我的代码,以防止内置的“保存”对话框或以某种方式告诉Excel创build自动保存点(使用我自己的“想要保存更改”对话)当我按“不保存”?

我不确定你是否find了你的答案,因为这个post有点过时,但是以为我会把我的$ 0.02。

我在解锁的非常隐藏的工作表上和每个可见的Worksheet上创build一个[isDirty]命名区域。更改我设置[isDirty] = True

在Workbook.BeforeClose我有这个:

If [IsDirty] = True Then Select Case MsgBox("Do you want to save the changes you made to '" & .Name & "'?", _ vbYesNoCancel + vbExclamation) Case Is = vbYes ThisWorkbook.Save [IsDirty] = False Case Is = vbNo 'Do not save Case Is = vbCancel Cancel = True End Select End If 

在私人小组Workbook_BeforeSave(ByVal SaveAsUI布尔,取消布尔)

  ThisWorkbook.Save [IsDirty] = False Cancel=True