OnKey メソッド (Excel)Application.OnKey method (Excel)

特定のキー、またはキーの組み合わせを押したときに、指定されたプロシージャを実行します。Runs a specified procedure when a particular key or key combination is pressed.

構文Syntax

OnKey(Key,プロシージャ)expression.OnKey (Key, Procedure)

expression**Application** オブジェクトを 表す変数。expression A variable that represents an Application object.

パラメーターParameters

名前Name 必須 / オプションRequired/Optional データ型Data type 説明Description
KeyKey 必須Required StringString 押すキーを示す文字列を指定します。A string indicating the key to be pressed.
ProcedureProcedure 省略可能Optional VariantVariant 実行するプロシージャ名を示す文字列を指定します。A string indicating the name of the procedure to be run. 引数_Procedure_に空の文字列を指定すると、_キー_を押したときに何も起こりません。If Procedure is "" (empty text), nothing happens when Key is pressed. この形式のOnKeyでは、Microsoft Excel のキーボード操作の通常の結果が変更されます。This form of OnKey changes the normal result of keystrokes in Microsoft Excel.

_プロシージャ_が省略された場合、_キー_は Microsoft Excel で通常の結果に戻り、前のOnKeyメソッドで行われた特殊なキーの割り当てはクリアされます。If Procedure is omitted, Key reverts to its normal result in Microsoft Excel, and any special key assignments made with previous OnKey methods are cleared.

注釈Remarks

引数_Key_には、Alt、Ctrl、Shift、またはこれらのキーの任意の組み合わせと組み合わせて、任意の1つのキーを指定できます。The Key argument can specify any single key combined with Alt, Ctrl, or Shift, or any combination of these keys. 各キーは、1 つ以上の文字で表します。たとえば、文字キー a は a で表し、Enter キーは {ENTER} で表します。Each key is represented by one or more characters, such as a for the character a, or {ENTER} for the Enter key.

対応するキーを押したときに表示されない文字を指定するには (例: Enter または Tab)、次の表に示すコードを使用します。To specify characters that aren't displayed when you press the corresponding key (for example: Enter or Tab), use the codes listed in the following table. 各コードは、キーボードの 1 つのキーに対応します。Each code in the table represents one key on the keyboard.

キーKey コードCode
BackSpaceBACKSPACE {BACKSPACE} または {BS}{BACKSPACE} or {BS}
BreakBREAK {BREAK}
CapsLockCAPS LOCK {CAPSLOCK}
ClearCLEAR {CLEAR}
Delete または DelDELETE or DEL {DELETE} または {DEL}{DELETE} or {DEL}
DOWN ARROW {DOWN}
終了END {END}
Enter (テンキー)ENTER (numeric keypad) {ENTER}
EnterENTER ~ (ティルダ)~ (tilde)
EscESC { ESCAPE} または {ESC}{ ESCAPE} or {ESC}
ヘルプHELP {HELP}
ホームHOME {HOME}
InsINS {INSERT}
LEFT ARROW {LEFT}
NumLockNUM LOCK {NUMLOCK}
PageDownPAGE DOWN {PGDN}
PageUpPAGE UP {PGUP}
ReturnRETURN {RETURN}
RIGHT ARROW {RIGHT}
ScrollLockSCROLL LOCK {SCROLLLOCK}
TabTAB {TAB}
UP ARROW {UP}
F1 ~ F15F1 through F15 {F1} から {F15}{F1} through {F15}

また、Shift キーと Ctrl キーまたは Alt キーまたはコマンドを併用してキーを指定することもできます。You can also specify keys combined with Shift and/or Ctrl and/or Alt and/or Command. 任意のキーを他のキーと組み合わせるときは、次に示すコードを使用します。To specify a key combined with another key or keys, use the following table.

キーTo combine keys with コードPrecede the key code by
ShiftShift + (正符号)+ (plus sign)
CtrlCtrl ^ (カレット)^ (caret)
AltAlt % (パーセント記号)% (percent sign)
CommandCommand *アスタリスクMac にのみ適用されます。Excel 2011 for Mac でのみ動作し、それ以降のバージョンでは動作しない場合があります。* (asterisk) Only applies to Mac; may only work on Excel 2011 for Mac and not later versions.

プロシージャを特殊文字 (+、^、% など) に登録するときは、文字を中かっこ ({ }) で囲みます。To assign a procedure to one of the special characters (+, ^, %, and so on), enclose the character in braces. 登録の方法は、使用例を参照してください。For details, see the example.

注意

現在、最新バージョンの Office VBA でコマンドキーを検出する方法はありません。There is no way to currently detect the Command key in recent versions of Office VBA. Microsoft は、これを認識しています。Microsoft is aware of this and is looking into it.

Example

次の例では、InsertProc をキーシーケンスの Ctrl + プラス記号に代入し、特殊な Printproc をキーシーケンス Shift + Ctrl + 右矢印に割り当てます。This example assigns InsertProc to the key sequence Ctrl+Plus Sign, and assigns SpecialPrintProc to the key sequence Shift+Ctrl+Right Arrow.

Application.OnKey "^{+}", "InsertProc" 
Application.OnKey "+^{RIGHT}", "SpecialPrintProc"

次の使用例は、Shift + Ctrl + →キーを通常の意味に戻します。This example returns Shift+Ctrl+Right Arrow to its normal meaning.

Application.OnKey "+^{RIGHT}"

次の使用例は、Shift + Ctrl + →キーシーケンスを無効にします。This example disables the Shift+Ctrl+Right Arrow key sequence.

Application.OnKey "+^{RIGHT}", ""

サポートとフィードバックSupport and feedback

Office VBA またはこの説明書に関するご質問やフィードバックがありますか?Have questions or feedback about Office VBA or this documentation? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.