WshShell.SendKeys メソッド

本ページには広告が含まれています。

構文
WshShell.SendKeys( string )
引数
string 省略可
送信するキーストロークを文字列式で指定。
戻り値

SendKeysにキーボードの文字を1つ送信するには、その文字をstring引数に指定します。例えば、「A」キーを送信するには、string引数に"A"を指定します。

SendKeysに複数のキーを送信することもできます。複数の文字列をstring引数に指定します。例えば、「A」キー、「B」キー、「C」キーを入力するには、string引数に"ABC"を指定します。

また、以下の文字はSendKeysで特別な意味を持ちます。そのため以下の文字を入力したい場合は"{}"(中括弧)で囲み「{文字}」のように記述します。

キー コード
+ {+}
^ {^}
% {%}
~ {~}

SendKeysでは特別な意味を持たないが、DDE(Dynamic Data Exchange)などのように角かっこが特殊な意味を持つアプリケーションにもあります。そのためそれらのアプリケーションにも対応できるように中かっこで囲む必要があります。中かっこを指定するには "{{}" と "{}}" を使用します。

キー コード
[ {[}
] {]}
{ {{}
} {}}

キーの中には、EnterキーやTabキーなどのように文字を生成しないものや、BackSpaceキーやBreakキーなどのようにアクションを表現するものもあります。これらのキーを送信するには、次の表に示すコードを使用します。

キー コード
BACKSPACE {BACKSPACE}、{BS}、{BKSP}
BREAK {BREAK}
CAPSLOCK {CAPSLOCK}
DEL or DELETE {DELETE}、{DEL}
DOWN ARROW {DOWN}
END {END}
ENTER {ENTER}、~
ESC {ESC}
HELP {HELP}
HOME {HOME}
INSERT or INS {INSERT}、{INS}
LEFT ARROW {LEFT}
NUMLOCK {NUMLOCK}
PAGE DOWN {PGDN}
PAGE UP {PGUP}
PRINT SCREEN {PRTCS}
RIGHT ARROW {RIGHT}
SCROLL LOCK {SCROLLLOCK}
TAB {TAB}
UP ARROW {UP}
F1~F16 {F1}~{F16}

通常のキーとShiftキー・Ctrlキー・Altキーとの組み合わせを送信するには、通常のキーの直前に次の表にある特殊文字を1つまたは複数個付与します。

キー コード
SHIFT +
CTRL ^
ALT %

SendKeysで単一キーを複数回繰り返して入力するには、「{キー 回数}」という形式で指定することができます。

例えば、Aキーを10回送信したい場合、"{A 10}"と入力することで送信できます。

使い方

  1. Aを3回入力。

    UWSC
    WshShell.SendKeys("{A 3}")
    結果
    プレーンテキスト
    AAA
  2. Ctrl+Cを入力。

    UWSC
    WshShell.SendKeys("^C")
  3. Ctrl+Vを入力。

    UWSC
    WshShell.SendKeys("^V")

プログラム実行例

電卓で計算をする

UWSC
DIM WshShell = CREATEOLEOBJ("Wscript.Shell")

WITH WshShell
	.Run("calc.exe")
	GETID("電卓", , -1)
	SLEEP(3.000)
	.AppActivate("電卓")
	.SendKeys("123")
	.SendKeys("{+}")
	.SendKeys("456")
	.SendKeys("{=}")
ENDWITH
使用関数
解説