ユーザーフォームのテキストボックスのイベント一覧と使い方についてご説明します。
テキストボックスは文字列や数値を入力、表示する場合に使用します。
また、入力、表示されている値の変更が可能です。
テキストボックス自体は単体でもコントロールとして十分に活用できますが、イベントと組み合わせる事でより複雑な処理も可能となります。
ユーザーフォームにテキストボックスを追加する方法については「ユーザーフォームにテキストボックスの追加と詳細設定する方法」をご覧ください。
1.テキストボックスのイベント一覧
テキストボックスのイベント一覧と説明です。
下記イベントの中から実行のトリガー(きっかけ)となるイベントを選んで、その選択したらイベントプロシージャ内に、実行したい処理を記述します。
テキストボックスのイベント一覧
赤字のイベントは下記「イベントの引数と定数一覧」に説明があります。
イベント名 | 説明 |
AfterUpdate | テキストボックスのデータが更新された直後に実行されます。 |
BeforeDragOver | ドラッグ&ドロップの操作中に実行されます。 |
BeforeDropOrPaste | テキストボックスにデータをドロップもしくは、 貼り付けるときに実行されます。 |
BeforeUpdate | テキストボックスのデータが更新される直前に実行されます。 |
Change | テキストボックスのValueプロパティが変更されたら実行されます。 |
DblClick | テキストボックスをダブルクリックしたら実行されます。 |
DropButtonClick | ドロップダウンリストが表示または非表示になったときに実行されます。 |
Enter | テキストボックスが同じフォームの別コントロールから、 フォーカスを受け取る前に実行されます。 |
Error | テキストボックスがエラーを呼び出し元プログラムに 返すことができないときに実行されます。 |
Exit | テキストボックスがフォーカスを失い同じフォームの 別コントロールに移動する前に実行されます。 |
KeyDown | キーを押すと実行されます。 |
KeyPress | ANSI を押すと実行されます。 |
KeyUp | 押したキーが離されたときに実行されます。 |
MouseDown | テキストボックス上でマウスボタンがクリックされたときに実行されます。 |
MouseMove | テキストボックス上にマウスポインターが移動したときに実行されます。 |
MouseUp | テキストボックス上でマウスボタンを離したときに実行されます。 |
イベントの引数と定数一覧
引数のあるイベントの引数と定数の説明です。
BeforeDragOverの引数と定数
引数名 | 説明 |
Cancel | イベントのステータスを指定します。 Falseは、コントロールがイベントを処理することを示します(既定)。 Trueは、アプリケーションがイベントを処理することを示します。 |
Data | ドラッグ&ドロップ操作でドラッグされたデータを返します。 |
X | コントロールの水平位置をポイント単位で返します。 |
Y | コントロールの垂直位置をポイント単位で返します。 |
DragState | ドラッグされているデータの遷移状態を返します。 |
Effect | ドロップソースでサポートされる操作を指定します。 |
Shift | Shiftキー、Ctrlキー、およびAltキーの状態を返します。 |
DragStateの定数一覧
定数名 | 値 | 説明 |
fmDragStateEnter | 0 | マウスポインターはターゲットの範囲の中にあります。 |
fmDragStateLeave | 1 | マウスポインターはターゲットの範囲の外にあります。 |
fmDragStateOver | 2 | マウスポインターは新しい位置にありますが、 同じターゲットの範囲の中にあります。 |
Effectの定数一覧
定数名 | 値 | 説明 |
fmDropEffectNone | 0 | ドロップソースをドロップターゲットにコピーも移動もしません。 |
fmdropeffectcopy | 1 | ドロップソースをドロップターゲットにコピーします。 |
fmdropeffectmove | 2 | ドロップソースをドロップターゲットに移動します。 |
fmDropEffectCopyOrMove | 3 | ドロップソースをドロップターゲットにコピーまたは移動します。 |
Shiftの定数一覧
定数名 | 値 | 説明 |
fmShiftMask | 1 | Shiftキーが押されました。 |
fmCtrlMask | 2 | Ctrlキーが押されました。 |
fmaltMask | 4 | Altキーが押されました。 |
BeforeDropOrPasteの引数と定数
引数名 | 説明 |
Cancel | イベントのステータスを指定します。 Falseは、コントロールがイベントを処理することを示します(既定)。 Trueは、アプリケーションがイベントを処理することを示します。 |
Action | 現在のキーボード設定に基づく、保留中のドラッグアンドドロップ操作の結果を示します。 |
Data | ドラッグ&ドロップ操作でドラッグされたデータを返します。 |
X | コントロールの水平位置をポイント単位で返します。 |
Y | コントロールの垂直位置をポイント単位で返します。 |
Effect | ドロップソースでサポートされる操作を指定します。 |
Shift | Shiftキー、Ctrlキー、およびAltキーの状態を返します。 |
Actionの定数一覧
定数名 | 値 | 説明 |
fmActionPaste | 2 | 選択されているオブジェクトをドロップターゲットに貼り付けます。 |
fmActionDragDrop | 3 | ユーザーがオブジェクトをソースからドロップターゲットにドラッグして、 ドロップターゲットにドロップしたことを示します。 |
Effectの定数一覧
定数名 | 値 | 説明 |
fmDropEffectNone | 0 | ドロップソースをドロップターゲットにコピーも移動もしません。 |
fmdropeffectcopy | 1 | ドロップソースをドロップターゲットにコピーします。 |
fmdropeffectmove | 2 | ドロップソースをドロップターゲットに移動します。 |
fmDropEffectCopyOrMove | 3 | ドロップソースをドロップターゲットにコピーまたは移動します。 |
Shiftの定数一覧
定数名 | 値 | 説明 |
fmShiftMask | 1 | Shiftキーが押されました。 |
fmCtrlMask | 2 | Ctrlキーが押されました。 |
fmaltMask | 4 | Altキーが押されました。 |
BeforeUpdateの引数
引数名 | 説明 |
Cancel | イベントのステータスを指定します。 Falseは、コントロールがイベントを処理することを示します(既定)。 Trueは、アプリケーションがイベントを処理することを示します。 |
DblClickの引数
引数名 | 説明 |
Cancel | イベントのステータスを指定します。 Falseは、コントロールがイベントを処理することを示します(既定)。 Trueは、アプリケーションがイベントを処理することを示します。 |
Errorの引数
引数名 | 説明 |
Number | コントロールがエラーの識別に使用する一意の値を指定します。 |
Description | エラーの説明です。 |
SCode | エラーのOLEステータスコードを指定します。 |
Source | イベントを開始したコントロールを識別する文字列。 |
HelpFile | エラーを説明しているヘルプファイルの完全修飾パス名を指定します。 |
HelpContext | エラーの説明が含まれるヘルプファイルトピックのコンテキストIDを指定します。 |
CancelDisplay | メッセージボックスにエラー文字列を表示するかどうかを指定します。 |
Exitの引数
引数名 | 説明 |
Cancel | イベントのステータスを指定します。 Falseは、コントロールがイベントを処理することを示します(既定)。 Trueは、アプリケーションがイベントを処理することを示します。 |
KeyDownの引数と定数
引数名 | 説明 |
KeyCode | コントロールがフォーカスされた状態で押されたキーを返します。 |
Shift | Shiftキー、Ctrlキー、およびAltキーの状態を返します。 |
Shiftの定数一覧
定数名 | 値 | 説明 |
fmShiftMask | 1 | Shiftキーが押されました。 |
fmCtrlMask | 2 | Ctrlキーが押されました。 |
fmaltMask | 4 | Altキーが押されました。 |
KeyPressの引数
引数名 | 説明 |
KeyAscii | 数値で表されるANSIキーコードを返します。 引数KeyAsciiに0を設定すると、キーストロークがキャンセルされ、 オブジェクトはキーが押されたことを認識しません。 |
KeyUpの引数と定数
引数名 | 説明 |
KeyCode | コントロールがフォーカスされた状態で押されたキーを返します。 |
Shift | Shiftキー、Ctrlキー、およびAltキーの状態を返します。 |
Shiftの定数一覧
定数名 | 値 | 説明 |
fmShiftMask | 1 | Shiftキーが押されました。 |
fmCtrlMask | 2 | Ctrlキーが押されました。 |
fmaltMask | 4 | Altキーが押されました。 |
MouseDownの引数
引数名 | 説明 |
Button | マウスの押されたボタンを整数で返します。 1:左ボタン 2:右ボタン 3:中央ボタン |
Shift | マウスが押されたときに一緒にShiftキー、Ctrlキー、Altキーが押された場合は整数で返します。 0:押されていない 1:Shiftキー 2:Ctrlキー 4:Altキー |
X | マウスの水平位置をポイント単位で返します。 |
Y | マウスの垂直位置をポイント単位で返します。 |
MouseMoveの引数
引数名 | 説明 |
Button | マウスの押されたボタンを整数で返します。 1:左ボタン 2:右ボタン 3:中央ボタン |
Shift | マウスが押されたときに一緒にShiftキー、Ctrlキー、Altキーが押された場合は整数で返します。 0:押されていない 1:Shiftキー 2:Ctrlキー 4:Altキー |
X | マウスの水平位置をポイント単位で返します。 |
Y | マウスの垂直位置をポイント単位で返します。 |
MouseUpの引数
引数名 | 説明 |
Button | マウスの押されたボタンを整数で返します。 1:左ボタン 2:右ボタン 3:中央ボタン |
Shift | マウスが押されたときに一緒にShiftキー、Ctrlキー、Altキーが押された場合は整数で返します。 0:押されていない 1:Shiftキー 2:Ctrlキー 4:Altキー |
X | マウスの水平位置をポイント単位で返します。 |
Y | マウスの垂直位置をポイント単位で返します。 |
2.イベントの作成方法
コードを記述する場所
イベントの処理を記述するモジュールは対象のコントロールが設置されている「フォームモジュール」になります。
そして、イベントの書かれたプロシージャを「イベントプロシージャ」と言います。
作成したユーザーフォーム1つ1つにフォームモジュールがあり、イベント処理を組み込みたいコントロールのあるユーザーフォームのフォームモジュールに記述します。
詳細な処理コードは標準モジュールなどに記述しても問題ありませんが、トリガーが発生して実行されるのはあくまでイベントプロシージャ内の処理なので、他で書かれた内容を呼び出す必要があります。
フォームモジュールの開き方
次はフォームモジュールの表示方法です。
フォームモジュールは作成したユーザーフォームごとに分かれています。
イベントを記述したいユーザーフォームを選択して、開きますが開く方法はいくつかあります。
VBAProject内のユーザーフォームを右クリックしてメニューを開き「コードの表示」を選択する。
フォームモジュールを開いて右クリックでメニューを開き「コードの表示」を選択、もしくはユーザーフォームを開いてWクリックで表示します。
対象のコントロールをWクリックもしくは、「コードの表示」で開く事も出来ます。
イベントを選択する方法
記述場所の次はイベントの選択方法です。
イベントを選択するのも「フォームモジュール」になります。
コントロールをWクリック、もしくはコードの表示で開くと、次のように「TextBox1」の「Change」イベントが自動的に生成されます。
もしChangeイベントではなく、他のイベントを選択したい場合は、「Change」部分のリストを表示して別のイベントを選択します。
イベントプロシージャ名
イベントを選択すると、イベントプロシージャ名は自動的に生成されます。
その中に処理をしたいコードを記述します。
各イベントが実行される挙動はイベントの種類の一覧をご覧ください。