You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel VBA:不使用ThisWorkbook.Saved=True,关闭工作簿如何取消保存提示?

解决VBA工作簿关闭时的保存提示问题

问题分析

你遇到的核心问题是:选择对话框的No选项后,执行ThisWorkbook.Close Savechanges:=False会触发Workbook_BeforeClose事件,该事件内的代码会在ThisWorkbook.Saved = True时执行保存操作,直接导致保存提示或强制保存,和你的需求冲突。同时你无法直接用ThisWorkbook.Saved = True,因为会触发BeforeClose里的保存逻辑。

解决方案

通过添加模块级标记变量,让BeforeClose事件识别当前关闭操作是用户选择No触发的,从而跳过原有保存逻辑,实现无提示关闭。

步骤1:在ThisWorkbook模块顶部定义标记变量

在所有过程之外添加布尔变量,用来标记是否是强制关闭:

Private bSkipBeforeClose As Boolean

步骤2:修改Workbook_Open事件的No分支

更新代码,设置标记变量并确保关闭时不触发提示:

Private Sub workbook_open()
    Application.DisplayAlerts = True

    ' controlevraag drive gesynced?
    Dim Antwoord1
    Antwoord1 = MsgBox("Heb je gecheckt of drive gesynced is en je daardoor dit doc kunt gebruiken?", vbQuestion + vbYesNo, "Drive sync gecheckt?")

    If Antwoord1 = vbYes Then
        GoTo Start1
    ElseIf Antwoord1 = vbNo Then
        MsgBox "Dan sluit ik nu dit doc zodat je dat eerst kunt checken, tot zo!", vbOKOnly, "Eerst checken aub"
        bSkipBeforeClose = True ' 设置强制关闭标记
        Application.DisplayAlerts = False
        ThisWorkbook.Close SaveChanges:=False
        Application.DisplayAlerts = True ' 恢复默认提示设置
    End If

Start1:
    ' Yes分支代码(已省略)
End Sub

步骤3:修改Workbook_BeforeClose事件

添加对标记变量的判断,跳过原有保存逻辑:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    ' 如果是强制关闭,跳过所有保存逻辑
    If bSkipBeforeClose Then
        Cancel = False
        ThisWorkbook.Saved = True ' 标记工作簿为已保存,避免触发系统保存提示
        Application.DisplayAlerts = False
        Exit Sub
    End If

    ' 原有逻辑仅在正常关闭时执行
    If ThisWorkbook.Saved = True Then
        Call AlleGSheet_netjes
        Call Juiste_Beveiliging
        ThisWorkbook.Save
    End If
    Application.DisplayAlerts = True
End Sub

原理说明

  • 标记变量bSkipBeforeClose在用户选择No时被设为True,BeforeClose事件检测到这个标记后,直接跳过所有保存相关代码,设置ThisWorkbook.Saved = True让系统认为工作簿无需保存,同时关闭提示,实现无保存、无提示关闭。
  • 关闭后恢复Application.DisplayAlerts = True,避免影响后续其他操作的提示逻辑。

内容的提问来源于stack exchange,提问作者Jesse Vroom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 10:03:28