[VBA] ユーザーフォームの初期化・終了時に発生するイベントの一覧

Pocket

ここでは、VBA で利用可能なユーザーフォームの初期イベントと終了イベントについて一覧でまとめてあります。イベントは初期化イベントが1つ(UserForm_Initialize)、終了イベントが2つ(UserForm_QueryCloseUserForm_Terminate)あります。

スポンサーリンク

ユーザーフォーム初期化・終了時イベント

下表に、ユーザーフォームの初期化および終了時に発生するイベントの一覧を示します。

発生タイミングイベントハンドラ定義概要
初期Private Sub UserForm_Initialize()フォームの表示前に呼び出される。主に初期処理を行う。
終了Private Sub UserForm_QueryClose( cancel As Integerclosemode As Integer)パラメータ cancel に非ゼロ(真値)を設定することでキャンセルができる。
終了Private Sub UserForm_Terminate()終了時に呼び出される。キャンセルはできない。なお、End ステートメント呼び出し時には、本イベントは発生しない(下記リンク参照)。

 

QueryClose イベントの closemode パラメータ

QueryClose イベントの第2パラメータの closemode によって、どのようにユーザーフォームが閉じられようとしているか判断することができます。下表はMSDNに掲載されている内容です。

例えば、closemode を判定することによって、× ボタンでフォームを閉じる操作のみを禁止したりすることが出来るようになります。(あまり意味ないかもしれませんが・・)

定数説明
vbFormControlMenu0ユーザーが UserForm 上のコントロール メニューで [閉じる] コマンドを選択しました。
vbFormCode1コードから Unload ステートメントが呼び出されました。
vbAppWindows2現在の Windows オペレーティング環境セッションが終了しようとしています。
vbAppTaskManager3Windows のタスク マネージャーがアプリケーションを閉じます。
スポンサーリンク


Pocket

Leave a Comment

Your email address will not be published. Required fields are marked *