陷阱窗口关闭

时间:2015-04-20 06:09:33

标签: excel excel-vba vba

在Excel中,可以打开多个窗口来查看同一个工作簿:

  • 手动查看> 新窗口
  • 或以编程方式ThisWorkBook.NewWindow

然后可以通过Workbook_WindowDeactivate(ByVal Wn As Window)事件捕获窗口激活的更改。

但Excel VBA中是否有一种方法可以检测用户是否尝试关闭特定窗口?

请注意,这与与关闭整个工作簿相同。

1 个答案:

答案 0 :(得分:0)

根据MSDN for Excel 2007," Application对象的Windows集合包含应用程序中的所有窗口... " (ref here,但要小心MSDN中的链接断开 - 您可能需要在MSDN中搜索" Window Object"。

听起来您并不关心检测用户表单,因此可以使用Application.Windows集合。在事件期间循环遍历所有窗口,并检查集合中的窗口是否符合您的条件,以查看该窗口是否打开。