KeyUp イベント

Microsoft Access Visual Basic のリファレンス

KeyUp イベント

KeyUp イベントは、フォームまたはコントロールにフォーカスがある状態でキーを離したときに発生します。このイベントは、マクロで "SendKeys/キー送信" アクションを使うか、Visual Basic コードで SendKeys ステートメントを使って、フォームまたはコントロールにキーストロークを送信した場合にも発生します。

Private Sub object_KeyUp(KeyCode As Integer, Shift As Integer)

Object フォームまたはフォーム上のコントロールの名前。

KeyCode vbKeyF1 (F1 キー) または vbKeyHome (Home キー) などのキー コード。キー コードを指定するには、オブジェクト ブラウザで示された組み込み定数を使用します。KeyCode に 0 を設定することにより、オブジェクトがキーストロークを受け取らないようにすることができます。

Shift イベント発生時の Shift キー、Ctrl キー、および Alt キーの状態。引数 Shift のテストを行う必要がある場合は、ビット マスクとして次の組み込み定数のいずれかを使用できます。

解説

メモ KeyUp イベントは、フォームおよびフォームのコントロールにのみ適用され、レポートのコントロールには適用されません。

このイベントが発生したときに、マクロまたはイベント プロシージャを実行するには、"OnKeyUp/キー解放時" プロパティにマクロ名または [Event Procedure/イベント プロシージャ] を設定します。

フォーカスのあるオブジェクトが、キーストロークを受け取ります。フォームがフォーカスを受け取ることができるのは、そのフォームにコントロールが配置されていないか、または、すべての可視コントロールが使用不可に設定されている場合だけです。

フォームの "KeyPreview/キーボードイベント取得" プロパティに [Yes/はい] を設定しておくと、コントロールに発生するイベントも含めて、フォームはすべてのキーストロークを受け取ります。この設定では、すべてのキーボード イベントはまずフォームに対して発生し、次にフォーカスのあるコントロールに対して発生します。どのコントロールにフォーカスがあっても、フォームで押された特定のキーに応答することができます。たとえば、Ctrl キーを押しながら X キーを押した場合に、フォームで常に同じアクションを実行することができます。

キーを押し続けた場合は、キーを離すまで KeyDown イベントと KeyPress イベントが交互に繰り返し発生 (KeyDown、KeyPress、KeyDown、KeyPress ... ) し、キーを離すと KeyUp イベントが発生します。

KeyUp イベントはほとんどのキーが押されたときに発生しますが、このイベントは主に、次のキーを検出するために使います。

  • ファンクション キーなどの拡張キー

  • HomeEndPageUpPageDownTab などの移動キー

  • 標準の補助キー (ShiftCtrlAlt キー) と他のキーの組み合わせ

  • テンキーとキーボードの数字キーの区別

KeyUp イベントは、次のキーが押されたときには発生しません。

  • "Default/既定のボタン" プロパティに [Yes/はい] が設定されているコマンド ボタンがフォームにある場合の Enter キー

  • "Cancel/キャンセルボタン" プロパティに [Yes/はい] が設定されているコマンド ボタンがフォームにある場合の Esc キー

ヒント

押されたキーに対応する ANSI 文字を確認するには、KeyPress イベントを使います。

キーを押したり送信したことによってコントロールに対するイベントが発生した後で、KeyUp イベントが発生します。キーストロークによってフォーカスが移動した場合は、移動前のコントロールに対して KeyDown イベントが発生し、移動後のコントロールに対して KeyPress イベントと KeyUp イベントが発生します。

詳細については、ここをクリックしてください。

キーを押したり送信した結果として作業ウィンドウ固定 (モーダル) ダイアログ ボックスが表示された場合は、KeyDown イベントと KeyPress イベントが発生し、KeyUp イベントは発生しません。

マクロ

KeyDown イベント マクロまたは KeyUp イベント マクロを使用すると、フォームまたはコントロールにフォーカスがある状態でユーザーがキーを押したり離したりしたときに常に応答できます。ただし、マクロではキー コードを返したり、押されたキーを判断したりすることができないため、通常、これらのイベントではイベント プロシージャを使用します。

KeyDown イベント マクロまたは KeyUp イベント マクロで "CancelEvent/イベントのキャンセル" アクションを使用することはできません。