【发布时间】:2011-07-05 14:56:59
【问题描述】:
我正在工作并使用 excel 插件,我需要打开同一工作簿的新窗口以在不同的工作表中输入数据。对于新窗口,我需要知道窗口何时关闭,以便对输入的数据进行一些验证。有没有办法知道工作簿窗口何时关闭?
谢谢。
【问题讨论】:
标签: excel-addins
我正在工作并使用 excel 插件,我需要打开同一工作簿的新窗口以在不同的工作表中输入数据。对于新窗口,我需要知道窗口何时关闭,以便对输入的数据进行一些验证。有没有办法知道工作簿窗口何时关闭?
谢谢。
【问题讨论】:
标签: excel-addins
看看这个文档: http://support.microsoft.com/kb/213566
创建一个模块和一个类模块。代码如下。
类模块代码:
Public WithEvents appevent As Application
Dim windowsCount As Integer
Private Sub appevent_WindowActivate(ByVal Wb As Workbook, ByVal Wn As Window)
If windowsCount <> Application.Windows.Count Then
MsgBox "You closed a window"
End If
End Sub
Private Sub appevent_WindowDeactivate(ByVal Wb As Workbook, ByVal Wn As Window)
windowsCount = Application.Windows.Count
End Sub
模块代码:
Dim myobject As New Class1
Sub Test()
Set myobject.appevent = Application
End Sub
还有这个工作簿的处理程序:
Private Sub Workbook_Open()
Test
End Sub
【讨论】:
您可以处理BeforeClose 事件。 here 提供了一个使用 VBA 的示例。
【讨论】: