有沒有什麼辦法來檢查,如果工作簿被關閉時,該代碼是在workbook_deactivate程序?所以我可以通知不同的消息給用戶,取決於他們是否正在離開另一個工作簿或他們正在關閉文件。像以下
Private Sub Workbook_Deactivate()
if thisworkbook.closing then
msgbox "message1"
else
msgbox "message2"
end if
End Sub
我已經在網上搜索,但沒有解決方案。 所以任何幫助,將不勝感激
SOLUTION
我已經想到了一個絕招。我將Z1000中的值1(如果可用)放入before_close事件中並停用,我將檢查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
有一個'Workbook_Close'事件,但不幸的是心不是在Workbook_BeforeClose'事件VBA或'Workbook.Closing'屬性。如果我沒有弄錯,'BeforeClose'事件暴露在C#中,所以可能有辦法通過VBA獲取事件。 –
@BrandonBarney你確定嗎? https://msdn.microsoft.com/en-us/vba/excel-vba/articles/workbook-beforeclose-event-excel ...也許我錯過了一些東西 – GibralterTop
@GibralterTop你是對的。有一個事件。當我最後需要它時,我可以發誓它不在那裏。我的錯! –