Activate イベント、Deactivate イベント
Activate イベントは、オブジェクトがアクティブ ウィンドウになると発生します。 Deactivate イベントは、オブジェクトがアクティブ ウィンドウでなくなると発生します。
構文
プライベート サブオブジェクト_Activate( )
Private Subobject_Deactivate( )
object のプレースホルダーは、評価結果が [適用先] リストのオブジェクトとなるオブジェクトの式を表します。
解説
コードで Show メソッドを使用すると、オブジェクトをアクティブにできます。
Activate イベントは、オブジェクトが表示されている場合のみ発生します。 Load で読み込まれた UserForm は、Show メソッドを使用しない限り表示されません。
Activate イベントと Deactivate イベントは、アプリケーション内でフォーカスが移動された場合のみ発生します。 別のアプリケーションで、オブジェクトからまたはオブジェクトにフォーカスが移動されても、いずれのイベントもトリガーされません。
Deactivate イベントは、オブジェクトの読み込み解除では発生しません。
例
次のコードでは、UserForm1 と UserForm2 の 2 つの UserForm を使用しています。 これらのプロシージャを UserForm1 モジュールにコピーしてから、UserForm2 を追加します。 UserForm1 のキャプションが、その Activate イベント プロシージャに作成されます。 ユーザーが UserForm1 のクライアント領域をクリックすると、UserForm2 が読み込まれて表示され、UserForm1 の Deactive イベントがトリガーされ、キャプションが変更されます。
' Activate event for UserForm1
Private Sub UserForm_Activate()
UserForm1.Caption = "Click my client area"
End Sub
' Click event for UserForm1
Private Sub UserForm_Click()
Load UserForm2
UserForm2.StartUpPosition = 3
UserForm2.Show
End Sub
' Deactivate event for UserForm1
Private Sub UserForm_Deactivate()
UserForm1.Caption = "I just lost the focus!"
UserForm2.Caption = "Focus just left UserForm1 and came to me"
End Sub
関連項目
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。