トップ > 逆引きで学ぶ ユーザーフォーム&コントロール > 1-30 フォームの全イベントを確認する

1-30 フォームの全イベントを確認するユーザーフォーム   2021.11.16

次の書籍の第1章~5章を公開しています。
「Excel VBA 逆引きで学ぶ ユーザーフォーム&コントロール」

目次  前頁   次頁  索引

イベント名

イベント発生のタイミング

Activate

フォームがアクティブになった時に発生します。

AddControl

フォームにコントロールを挿入する時に発生します。

BeforeDragOver

フォーム上でドラッグ操作を行った時に発生します。

BeforeDropOrPaste

フォームにデータオブジェクトをドロップするか、貼り付ける前に発生します。

Click

フォームをマウスでクリックした時に発生します。

DblClick

フォームをマウスでダブルクリックした時に発生します。

Deactivate

フォームがが非アクティブになった時に発生します。

Error

フォームがエラーを検出し、エラー情報を呼び出し元プログラムに返せない時に発生します。

Initialize

フォームのインスタンスが生成された時に発生します。

KeyDown

キーを押すと発生します。

KeyPress

ANSIコードに対応するキーが押されると発生します。

KeyUp

押されたキーを離すと発生します。

Layout

フォーム上のコントロールが移動した時に発生します。

MouseDown

マウスボタンを押した時に発生します。

MouseMove

マウスポインタを動かすと発生します。

MouseUp

押されたマウスボタンを離すと発生します。

QueryClose

フォームを閉じる直前に発生します。

RemoveControl

フォーム上のコントロールを削除する時に発生します。

Resize

フォームのサイズが変更される時に発生します。

Scroll

フォーム上に設置されたスクロールバーを操作した時に発生します。

Terminate

フォームのインスタンスが破棄される時に発生します。

Zoom

フォームの表示倍率に変化があった時に発生します。



コラム③ イベントとは?

イベントとは「ボタンがクリックされた」「キーボードが押された」等、何らかの条件を満たしたときに、自動で発生するプログラムのことを指します。
このような、イベントによって自動発生するプログラムの動作方法を、イベントドリブン(イベント駆動)と言います。
ユーザーフォームでは、フォームだけでなく、フォーム上に配置するコントロールに、それぞれのタイプにあわせたイベントが存在します。
フォームで何らかの処理を行う場合は、イベントをトリガーとしてマクロを実行します。


イベントの挿入

イベントの挿入はVBEの画面で行います。
オブジェクトが表示されている状態で、イベントを挿入したいフォーム、またはコントロールをダブルクリックします。


ダブルクリックをするとコードの表示画面に切り替わります。
そしてクリックしたフォーム、またはコントロールのデフォルトのイベントが自動で挿入されます。


デフォルトのイベントとは異なるイベントを利用する場合は、ドロップダウンリストより選択します。


リストから選択すると、選択したイベントが新たに挿入されます。


必要のないイベントは消去して構いません。


別のコントロールのイベントを挿入する場合は、オブジェクトとイベントをドロップダウンリストから選択します。




コラム④ イベントの順番

イベントの中には、Initializeイベント、Activateイベントのように、連続で発生するものが存在します。
イベントの順番を知っておくことは、エラー回避やスムーズな仕組みの構成には欠かせません。

ここではイベントの順番を確認します。
なおユーザーフォームのイベントを基にしますが、コントロールに同じイベントがある場合は、同じ順番になります。


フォーム起動時

① Initializeイベント インスタンスが生成されたら発生
② Layoutイベント フォームのレイアウトや位置に変更があったら発生
②’(フレームコントロールやマルチページコントロールのLayoutイベント)
③ Activateイベント フォームがアクティブなったら発生


フォームを閉じる

① QueryCloseイベント フォームを閉じる直前に発生
② Terminateイベント フォームのインスタンスが破棄されるときに発生


フォームのサイズを変更

① Resizeイベント フォームのサイズが変更される時に発生
② Layoutイベント フォームのレイアウトや位置に変更があったら発生


フォーム上でマウスを左クリック

① MouseDownイベント フォーム上でマウスボタンが押された時に発生
② MouseUpイベント フォーム上で押されているマウスボタンを離した時に発生
③ Clickイベント フォームをクリックした時に発生


フォーム上でキーを押す

① KeyDownイベント フォーム上でキーが押された時に発生
② KeyPressイベント フォーム上でANSIに対応したキーが押されたときに発生
③ KeyUpイベント フォーム上で押されているキーが離された時に発生


その他

Resizeイベントは、フォームの幅や高さに変化があった場合に発生します。
なんらかのイベント途中であってもサイズの変化があると、Resizeイベントに移ります。

例えば、ZoomイベントでWidthプロパティとHeightプロパティの値を変更した場合、それぞれのプロパティ設定毎にリサイズイベントが発生するため、結果としてResizeイベントは2回実行されます。

【例】
①フォームをクリックするとZoomプロパティに120が代入(倍率120%)
②Zoomイベントが発生 イベント内でフォームの幅と高さを調整
③(Zoomイベントの途中であっても)フォームのサイズが変更の度にResizeイベントが発生


書籍紹介140以上のサンプルファイル付き!

知りたいがすぐわかる! やりたいがすぐできる!
「Excel VBA 逆引きで学ぶ ユーザーフォーム&コントロール」(Kindle版)
ユーザーフォームを扱えると、VBAでできることが大きく広がります!
本書では、知りたいこと、やりたいことから、逆引きで学びを深められます。

■ 購入:amazon

ページトップへ戻る
Copyright(C) 2009- 坂江 保 All Rights Reserved.