2011-07-05 18 views
1

私は作業していて、アドインを凌駕しており、別のワークシートにデータを入力するために同じワークブックの新しいウィンドウを開く必要があります。新しいウィンドウでは、ウィンドウが閉じられているかどうかを知る必要があるので、入力されたデータに対していくつかの検証を行うことができます。ワークブックウィンドウが閉じられているときを知る方法はありますか?は、Excelワークブックのウィンドウが閉じるタイミングを知る必要があります

ありがとうございました。

答えて

0

は、この文書を見てみましょう: 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 
+0

アンダーソンさん、ありがとう、私はそれがこのように働くことができるかどうかを見てみましょう。私はリボンにボタンを追加したので、ユーザーはウィンドウのXボタンの代わりにボタンを使用してウィンドウを閉じる必要があります。そうすれば、必要なカスタムロジックを実行できます。理想的な解決策ではありませんが、私がこれまでにやってきたことはすべてです。 –

-1

イベントを処理できます。 VBAを使用した例はhereです。

+1

こんにちはフレデリック、ご回答いただきありがとうございます。最後のブックウィンドウが閉じられたときにのみ、Workbook.BeforeCloseイベントが発生します。私が必要とするのは、ワークブックのウィンドウ終了イベントを処理することです。 Book1.xlsx:1とBook1.xlsx:2がある場合、Book1.xlsx:2がいつ閉じているかを知る必要があります。 –

関連する問題