Application.OnKey メソッド (Excel)
特定のキー、またはキーの組み合わせを押したときに、指定されたプロシージャを実行します。
構文
式。OnKey (キー、 プロシージャ)
expressionApplication オブジェクトを 表す変数。
パラメーター
名前 | 必須 / オプション | データ型 | 説明 |
---|---|---|---|
Key | 必須 | 文字列型 (String) | 押すキーを示す文字列を指定します。 |
Procedure | 省略可能 | バリアント型 (Variant) | 実行するプロシージャ名を示す文字列を指定します。 Procedure が "" (空のテキスト) の場合、Key キーを押しても何も起こりません。 この形式の OnKey は 、Microsoft Excel のキーストロークの通常の結果を変更します。 プロシージャを省略すると、キーは Microsoft Excel で通常の結果に戻り、以前の OnKey メソッドで行われた特別なキーの割り当てはクリアされます。 |
注釈
Key 引数には、Alt キー、Ctrl キー、Shift キーを組み合わせた任意の 1 つのキー、またはこれらのキーの任意の組み合わせを指定できます。 各キーは、1 つ以上の文字で表します。たとえば、文字キー a は a
で表し、Enter キーは {ENTER}
で表します。
対応するキー (Enter キーや Tab キーなど) を押したときに表示されない文字を指定するには、次の表に示すコードを使用します。 各コードは、キーボードの 1 つのキーに対応します。
キー | コード |
---|---|
BackSpace | {BACKSPACE} または {BS} |
Break | {BREAK} |
CapsLock | {CAPSLOCK} |
Clear | {CLEAR} |
Delete または Del | {DELETE} または {DEL} |
↓ | {DOWN} |
終了 | {END} |
Enter (テンキー) | {ENTER} |
Enter | ~ (ティルダ) |
Esc | { ESCAPE} または {ESC} |
Help | {HELP} |
ホーム | {HOME} |
Ins | {INSERT} |
← | {LEFT} |
NumLock | {NUMLOCK} |
PageDown | {PGDN} |
PageUp | {PGUP} |
Return | {RETURN} |
→ | {RIGHT} |
ScrollLock | {SCROLLLOCK} |
Tab | {TAB} |
↑ | {UP} |
F1 ~ F15 | {F1} から {F15} |
Shift キーや Ctrl キー、Alt キー、Command キーを組み合わせて指定することもできます。 他のキーと組み合わせてキーを指定するには、次に示すコードを使用します。
キー | コード |
---|---|
シフト | + (正符号) |
Ctrl キー | ^ (カレット) |
Alt キー | % (パーセント記号) |
command | * (アスタリスク)Mac にのみ適用されます。は、Excel 2011 for Mac でのみ動作し、それ以降のバージョンでは動作しない場合があります。 |
プロシージャを特殊文字 (+、^、% など) に登録するときは、文字を中かっこ ({ }) で囲みます。 登録の方法は、使用例を参照してください。
注:
現在、最近のバージョンの Office VBA でコマンド キーを検出する方法はありません。 Microsoft はこれを認識しており、調査中です。
例
次の使用例は、キー シーケンス Ctrl + プラス記号に InsertProc を割り当て、キー シーケンス Shift + Ctrl + 右方向キーに SpecialPrintProc を割り当てます。
Application.OnKey "^{+}", "InsertProc"
Application.OnKey "+^{RIGHT}", "SpecialPrintProc"
次の使用例は、Shift + Ctrl + 右方向キーを通常の意味に戻します。
Application.OnKey "+^{RIGHT}"
次の使用例は、Shift + Ctrl + 右方向キー シーケンスを無効にします。
Application.OnKey "+^{RIGHT}", ""
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。