KeyPress イベントは、レポートにフォーカスがある状態で、ANSI 文字コードに対応するキーまたはキーの組み合わせを押して離したときに発生します。 このイベントは、マクロで "SendKeys/キー送信" アクションを使うか、Visual Basic コードで SendKeys ステートメントを使って、レポートにキーストロークを送信した場合にも発生します。
構文
式。KeyPress (KeyAscii)
式: Report オブジェクトを表す変数。
パラメーター
| 名前 | 必須 / オプション | データ型 | 説明 |
|---|---|---|---|
| KeyAscii | 必須 | 整数型 (Integer) | 数値で表される ANSI キー コードを返します。 引数 KeyAscii は参照によって渡され、これを変更すると、異なった文字がオブジェクトに送られます。 引数 KeyAscii に 0 を設定すると、キーストロークがキャンセルされ、オブジェクトはキーが押されたことを認識しません。 |
注釈
KeyPress イベントが発生したときに、マクロまたはイベント プロシージャを実行するには、 OnKeyPress プロパティをマクロ名または "[Event Procedure]"/"[イベント プロシージャ]" に設定します。
レポートの " KeyPreview /キーボードイベント取得" プロパティを [Yes/はい] に設定しておくと、コントロールに発生するイベントも含めて、レポートはすべてのキーストロークを受け取ります。 この設定では、すべてのキーボード イベントはまずレポートに対して発生し、次にフォーカスのあるコントロールに対して発生します。 どのコントロールにフォーカスがあっても、レポートで押された特定のキーに応答することができます。 たとえば、Ctrl+X キーの組み合わせで、レポートに対して常に同じアクションを実行することができます。
ANSI キーを長押しすると、キーを離すまで KeyDown イベントと KeyPress イベント (KeyDown、 KeyPress、 KeyDown、 KeyPress など) が繰り返されてから、 KeyUp イベントが発生します。
KeyPress イベントには、任意の印刷可能なキーボード文字、標準アルファベット文字または特殊文字と組み合わせた Ctrl キー、および Enter キーまたは Backspace キーを含めることができます。 KeyDown および KeyUp イベント プロシージャを使用すると、ファンクション キー、ナビゲーション キー、およびこれらのキーボード修飾キー (Alt、Shift、または Ctrl キー) との組み合わせなど、KeyPress イベントによって認識されないキー操作を処理できます。 KeyPress イベントでは、 KeyDown イベントおよび KeyUp イベントとは異なり、キーストロークの状態は示されず、ユーザーが押したキーまたはキーの組み合わせに対応する ANSI 文字が示されます。
KeyPress イベントでは、各アルファベット文字の大文字と小文字は、別のキーコード、つまり 2 つの別の文字として扱われます。
注:
Backspace キーは ANSI 文字セットの一部ですが、Delete キーは ANSI 文字セットの一部ではありません。 BackSpace キーを使用してコントロール内の文字を削除すると、 KeyPress イベントが発生します。Delete キーを使用する場合は、使用しません。
KeyDown イベントと KeyPress イベントは、ANSI キーを押したり送信したりすると発生します。 KeyUp イベントは、キーを押したり送信したりすることによってコントロールに対するイベントが発生した後に発生します。 キーストロークによってフォーカスが移動した場合は、移動前のコントロールに対して KeyDown イベントが発生し、移動後のコントロールに対して KeyPress イベントと KeyUp イベントが発生します。
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。