gpt4 book ai didi

vba - Excel VBA - WorkbookBeforeSave 事件执行

转载 作者:行者123 更新时间:2023-12-02 07:39:35 27 4
gpt4 key购买 nike

我有一个带有应用程序对象的加载项。该对象被声明为 WithEvents。这使我能够在每次用户保存文件时将一些数据点刷新到中央数据库。这在大多数情况下都有效。但是,有一位用户退出了 Excel 应用程序,这会调出“保存”对话框。看来,使用未保存的文件退出 Excel 意味着不会触发 WorkbookBeforeSave 事件。

只是强调一下,我已经确认当用户按下 CTRL-S 或按下保存按钮时该事件确实会触发。我还确认,如果我退出应用程序,该事件不会触发。

我可以想到一些解决方法(例如,每 10 秒自动保存一次),但我对此并不着迷。谁能证实这种行为和/或有人有补救措施吗?

Option Explicit

Private WithEvents mapp As Excel.Application

Private Sub mapp_WorkbookBeforeSave(ByVal Wb As Workbook, ByVal SaveAsUI As Boolean, Cancel As Boolean)

' Sanity preservation device
Msgbox "WorkbookBeforeSave event fired."
SaveSomeData Wb

End Sub

最佳答案

您可以使用Workbook_BeforeClose例程和Workbook对象的Saved属性。

Private Sub Workbook_BeforeClose(Cancel As Boolean)

If ThisWorkbook.Saved = False Then
'Call save function
End If

End Sub

关于vba - Excel VBA - WorkbookBeforeSave 事件执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14203305/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com