在 Excel 中的“想要保存更改”对话框后无法陷印

本文关键字:对话框 保存更改 中的 Excel | 更新日期: 2023-09-27 18:31:16

  1. 在Word VSTO中,我们有DocumentBeforeSave事件,该事件在"想要保存更改"对话框之后立即调用,我可以轻松取消标准"保存"对话框并显示我自己的对话框。

  2. 但是在Excel VSTO工作簿之前保存是在保存对话框关闭后调用的,它会导致我自己的保存对话框在内置对话框之后显示。我可以使用WorkbookBeforeClose事件,但我应该显示我自己的"想要保存更改"对话框,并且在按"不保存"时自动保存功能将不起作用。

有没有办法在Excel中的"想要保存更改"对话框

之后立即调用我的代码,并能够防止内置的"保存"对话框或以某种方式告诉Excel创建一个自动保存点(使用我自己的"想要保存您的更改"对话框)当我按"不保存"时?

在 Excel 中的“想要保存更改”对话框后无法陷印

我不确定你是否找到了你的答案,因为这个线程有点过时,但我想我会投入我的 0.02 美元。

我在未锁定的非常隐藏的工作表和每个可见的工作表上创建了一个 [isDirty] 命名范围。更改我设置 [isDirty]=True

工作簿中,在关闭之前,我有这个:

      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