我今天編輯用戶窗體時,我不小心創建了一個用戶表單無法關閉:如何在Query_Close的取消爭論總是等於True時關閉用戶窗體?
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
' Logic that always evaluated to:
Cancel = True
End Sub
的ShowModal
屬性設置爲True,所以你不能用Excel或VBE所以它的交互看似不可能殺死這個表格。無論CloseMode(例如,Alt-F4)如何,邏輯總是評估爲Cancel = True
。最終的解決方案是保存工作簿並使用任務管理器來結束Excel。這工作,因爲所有的信息都被正確保存,但這是一個相當骯髒的解決方案,我寧願避免。
這些問題:
處理不當關閉這會導致一些錯誤的地方仍然存在的工作簿。
有沒有一種方法來關閉用戶表單(已加載)時Cancel
總是在Query_Close
事件等於True
?
簡答:不,這是取消屬性的用途。程序員需要適當地啓用一種方法來關閉表單。 – jkpieterse
將取消設置爲零 - 請參閱https://msdn.microsoft.com/VBA/Language-Reference-VBA/articles/queryclose-event – Absinthe