【问题标题】:Prevent Saving in excel couldn't be saved?防止保存在excel中无法保存?
【发布时间】:2014-12-31 03:03:37
【问题描述】:

这听起来可能很傻,但我试图通过使用 ThisWorkbook 中的以下代码来防止保存在 Excel 工作簿中:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Cancel = True
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.ThisWorkbook.Saved = True
End Sub

但是,在按下Ctrl + s并关闭工作簿后,重新打开它时,代码没有保存。

知道为什么会这样吗?

【问题讨论】:

  • 听起来很傻:-)。我不知道你是否想保存。您的标题似乎同时说明了两者,您的问题也是如此。

标签: excel save


【解决方案1】:

这是一件好事 - 这意味着您的代码工作正常。您的代码阻止您自己保存工作簿。我在我制作的几个应用程序中都有这个,解决它的方法是按如下方式制作一个子:

sub saveTheWB()
    Application.EnableEvents = False
    ThisWorkbook.Save
    Application.EnableEvents = True
end sub

每次要保存时都必须运行此子程序。

【讨论】:

    【解决方案2】:

    没错,因为Workbook_BeforeSave 事件处理程序正在触发并取消保存操作。

    在 IDE 的即时窗口中,在保存工作簿之前运行 Application.EnableEvents = False,它将与代码一起保存。

    之后别忘了运行Application.EnableEvents = True

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-13
      • 2023-01-11
      • 2014-08-30
      • 2022-08-22
      • 1970-01-01
      相关资源
      最近更新 更多