我找不到这个问题的简单答案,我觉得这很奇怪。我正在更改我写的一个加载项,我经常在excel VBA编辑器中按下保存按钮。当我回来做一些更改时,我发现过去几天我的所有变化都消失了。有没有希望恢复我的工作?更重要的是,如果我正在进行更改,那么保存项目的更好方法是什么。我通常在我的添加中工作,只在需要将其发送给队友时才保存新副本。
答案 0 :(得分:2)
我记得在某些时候出现了这个糟糕的惊喜,但是在点击之前我开始密切关注保存按钮,我注意到如果你点击软盘,VBA会告诉你将保存哪个工作簿。
查看此内容非常重要的原因是因为要保存的文件取决于 Project Explorer 中当前选择的内容,而不是 VBA代码编辑器窗口。
您还可以通过选择其中一个元素并在立即窗口中运行以下命令来确保正确保存加载项(它应该完全复制VBE保存按钮的功能) :
Thisworkbook.Save
最后,与其他类型的工作簿不同,Excel不会在不保存对加载项的更改的情况下关闭应用程序时告诉您。因此,您可以通过将以下代码添加到加载项的对象Thisworkbook
来采取额外的预防措施:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If ThisWorkbook.Saved = False Then
Dim strMsg As String
' Specify the message to display.
strMsg = "Want to save your changes to '" & ThisWorkbook.Name & "'?"
Dim Decision As Boolean, ireply As Variant
ireply = MsgBox(prompt:=strMsg, Buttons:=vbYesNoCancel)
If ireply = vbYes Then
Decision = True
ElseIf ireply = vbNo Then
Decision = False
Else 'They cancelled (VbCancel)
Cancel = True
Exit Sub
End If
If Decision = True Then
ThisWorkbook.Save
End If
End If
End Sub
如果在Excel应用程序关闭时具有未保存的状态,则会显示一条消息,允许您保存加载项。