KeyDown、KeyUp イベント
ユーザーがキーを押して離すと、順番に発生します。 KeyDown は、ユーザーがキーを押したときに発生します。 KeyUp は、ユーザーがキーを解放するときに発生します。
構文
Private Subオブジェクト _KeyDown( ByValKeyCodeAs MSForms.ReturnInteger, ByValShiftAs fmShiftState)
Private Subオブジェクト _KeyUp( ByValKeyCodeAs MSForms.ReturnInteger, ByValShiftAs fmShiftState)
KeyDown イベントと KeyUp イベントの構文には、次の指定項目があります。
パーツ | 説明 |
---|---|
object | 必須です。 有効なオブジェクト名です。 |
KeyCode | 必須。 押されたキーまたは離されたキーのキー コードを表す整数です。 |
Shift | 必須。 Shift キー、Ctrl キー、および Alt キーの状態です。 |
Settings
Shift の設定値を以下に示します。
定数 | 値 | 説明 |
---|---|---|
fmShiftMask | 1 | Shift キーが押されました。 |
fmCtrlMask | 2 | Ctrl キーが押されました。 |
fmAltMask | 4 | Alt キーが押されました。 |
注釈
KeyDown イベントは、実行中のフォームまたはそのフォーム上のコントロールにフォーカスがある状態でキーを押したときに発生します。 キーを離すまで KeyDown イベントと KeyPress イベントが交互に発生し、キーを離すと KeyUp イベントが発生します。 フォーカスのあるフォームまたはコントロールが、すべてのキーストロークを受け取ります。 フォームがフォーカスを受け取ることができるのは、そのフォームにコントロールが配置されていないか、または、すべての可視コントロールが使用不可に設定されている場合だけです。
これらのイベントは、マクロの SendKeys アクションまたは Visual Basic の SendKeys ステートメント を使用して、フォームまたはコントロールにキーストロークを送信する場合にも発生します。
KeyDown イベントと KeyUp イベントは主に、次のキーを検出するために使います。
ファンクション キーなどの拡張キー。
Home、End、PageUp、PageDown、↑、↓、→、←、Tab などの移動キー。
標準の補助キー (Shift、Ctrl、Alt) と他のキーの組み合わせ。
テンキーとキーボードの数字キー。
KeyDown イベントと KeyUp イベントは、次の状況では発生しません。
ユーザーは、 Default プロパティが True に設定されているコマンド ボタンを使用して、フォームで Enter キーを押 します。
ユーザーは 、Cancel プロパティが True に設定されているコマンド ボタンを使用して、フォームで Esc キーを押 します。
KeyDown イベントと KeyPress イベントは、ANSI キーを押したり送信したりすると発生します。 KeyUp イベントは、キーを押したり送信したりすることによってコントロールに対するイベントが発生した後に発生します。 キーストロークによってフォーカスが移動した場合は、移動前のコントロールに対して KeyDown イベントが発生し、移動後のコントロールに対して KeyPress イベントと KeyUp イベントが発生します。
キーボード関連イベントの順序は次のとおりです。
- KeyDown
- KeyPress
- KeyUp
注:
KeyDown イベントと KeyUp イベントは、フォームおよびフォームのコントロールにのみ適用されます。 ANSI 文字を解釈する (押したキーに対応する ANSI 文字セットの文字を確認する) には、KeyPress イベントを使います。
関連項目
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。