解决
当代码在workbook_deactivate过程中时,有没有办法检查工作簿是否正在关闭?所以我可以向用户发送不同的消息,具体取决于他们是否只是离开另一个工作簿或者他们正在关闭文件。喜欢以下
Private Sub Workbook_Deactivate()
if thisworkbook.closing then
msgbox "message1"
else
msgbox "message2"
end if
End Sub
我在网上搜索但根本没有解决方案。 所以任何帮助将不胜感激
解
我想到了一个技巧。我在before_close事件中将值1置于Z1000(如果可用)中,并且在取消激活时,我检查Z1000的值是否正确。是的。
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Range("Z1000").Value = 1 'wherever is avaliable
Me.Saved = True
End Sub
Private Sub Workbook_Deactivate()
If Range("Z1000").Value = 1 Then
MsgBox "quitting"
Else
MsgBox "deactivating"
End If
End Sub
答案 0 :(得分:1)
您可以使用BeforeClose
事件
Private Sub Workbook_BeforeClose(Cancel As Boolean)
' set Cancel to true to prevent it from closing
End Sub
答案 1 :(得分:-5)
您可以查看此代码
ThisWorkbook.Close True