Method Reference (COM)

Send

シミュレーションしたキーストロークをアクティブなウィンドウに送信します。

Send "keys" [, flag]

 

パラメータ

keys 送信するキー列
flag オプション: どのように"キー"を送信するかを変更します:
  flag = 0 (デフォルト): SHIFTやALTキーが押されていることを意味する+や!のような特殊な文字をテキストが含んでる場合。
  flag = 1: キーはそのまま送信されます。

 

返し値

なし。

 

注意

Sendに関するTIPSについてはAppendixを参照。

”send”コマンドの文法はScriptItやVisualBasicの”SendKeys”コマンドと同じです。次に示す文字を除いて、文字は書かれたとおりに送信されます。

'!'
AutoItがALTキーを送信するよう指定します。従ってSend("This is text!a") は"This is text"と送信した後"ALT+a"を押します。

注意:プログラムによってはALTキー+大文字で意味が変わることがあります。例えば"!A"と"!a"で意味が異なる場合があります。最初のものはALT+SHIFT+Aで2番目のものはALT+aという具合です。迷った場合は小文字を使いましょう!

'+'
AutoItがSHIFTキーを送信するよう指定します。従ってSend("Hell+o")は"HellO"と送信し、Send("!+a")は"ALT+SHIFT+a"と送信します。

'^'
AutoItがCONTROLキーを送信するよう指定します。従ってSend("^!a")は"CTRL+ALT+a"と送信します。

注意:プログラムによってはCTRLキー+大文字で意味が変わることがあります。例えば"^A"と"^a"で意味が異なる場合があります。最初のものはCTRL+SHIFT+Aで2番目のものはCTRL+aという具合です。迷った場合は小文字を使いましょう!

'#'
ハッシュはWindowsキーを送信します。従ってSend("#r")はWin+rと送信して”ファイル名を指定して実行”のダイアログボックスを立ち上げます。

SendCapslockModeを設定することでSend操作の前にCAPS LOCKをはずし、Send操作終了後に元に戻すことができます。
しかし、もしユーザーがSend関数が実行されている際にShiftキーを押していた場合、テキストは大文字として送信されてしまいます。
回避策のひとつは他のSendの前にSend("{SHIFTDOWN}{SHIFTUP}")と記述することです。

中括弧で囲むことで特殊なキーを送信することができます。

注意:ウィンドウズでは"CTRL-ALT-DEL"のキーの組み合わせはシミュレーションできません!
送信コマンド (flag=0の場合) キー操作結果
{!} !
{#} #
{+} +
{^} ^
{{} {
{}} }
{SPACE} SPACE
{ENTER} メインキーボードのENTER キー
{ALT} ALT
{BACKSPACE} or {BS} BACKSPACE
{DELETE} or {DEL} DELETE
{UP}
{DOWN}
{LEFT}
{RIGHT}
{HOME} HOME
{END} END
{ESCAPE} or {ESC} ESCAPE
{INSERT} or {INS} INS
{PGUP} PageUp
{PGDN} PageDown
{F1} - {F12} Function キー
{TAB} TAB
{PRINTSCREEN} Print Screen キー
{LWIN} Left Windows キー
{RWIN} Right Windows キー
{NUMLOCK on} NUMLOCK (オン/オフ/切り替え)
{CAPSLOCK off} CAPSLOCK (オン/オフ/切り替え)
{SCROLLLOCK toggle} SCROLLLOCK (オン/オフ/切り替え)
{BREAK} Ctrl+Break処理
{PAUSE} PAUSE
{NUMPAD0} - {NUMPAD9} テンキー 数字
{NUMPADMULT} テンキー *
{NUMPADADD} テンキー +
{NUMPADSUB} テンキー -
{NUMPADDIV} テンキー /
{NUMPADDOT} テンキー ピリオド
{NUMPADENTER} テンキーのEnter キー
{APPSKEY} Windows App キー
{LALT} 左 ALT キー
{RALT} 右 ALT キー
{LCTRL} 左 CTRL キー
{RCTRL} 右 CTRL キー
{LSHIFT} 左 Shift キー
{RSHIFT} 右 Shift キー
{SLEEP} Computer SLEEP キー
{ALTDOWN} {ALTUP}が送信されるまでALTキーを押し続けます。
{SHIFTDOWN} {SHIFTUP}が送信されるまでSHIFTキーを押し続けます。
{CTRLDOWN} {CTRLUP}が送信されるまでCTRLキーを押し続けます。
{LWINDOWN} {LWINUP}が送信されるまで左Windowsキーを押し続けます。
{RWINDOWN} {RWINUP}が送信されるまで右Windowsキーを押し続けます。
{ASC nnnn} ALT+nnnn のキーの組み合わせを送信します。
{BROWSER_BACK} 2000/XP のみ: ブラウザの"戻る"ボタンを選択します。
{BROWSER_FORWARD} 2000/XP のみ: ブラウザの"進む"ボタンを選択します。
{BROWSER_REFRESH} 2000/XP のみ: ブラウザの"更新"ボタンを選択します。
{BROWSER_STOP} 2000/XP のみ: ブラウザの"中止"ボタンを選択します。
{BROWSER_SEARCH} 2000/XP のみ: ブラウザの"検索"ボタンを選択します。
{BROWSER_FAVORITES} 2000/XP のみ: ブラウザの"お気に入り"ボタンを選択します。
{BROWSER_HOME} 2000/XP のみ: ブラウザを起動しホームページに移動します。
{VOLUME_MUTE} 2000/XP のみ: 音声を消します。
{VOLUME_DOWN} 2000/XP のみ: 音声ボリュームを下げます。
{VOLUME_UP} 2000/XP のみ: 音声ボリュームを上げます。
{MEDIA_NEXT} 2000/XP のみ: メディアプレイヤーの次のトラックを選択します。
{MEDIA_PREV} 2000/XP のみ: メディアプレイヤーの前のトラックを選択します。
{MEDIA_STOP} 2000/XP のみ: メディアプレイヤーを停止します。
{MEDIA_PLAY_PAUSE} 2000/XP のみ: メディアプレイヤーの再生/一時停止をおこないます。
{LAUNCH_MAIL} 2000/XP のみ: eメールアプリケーションを起動します。
{LAUNCH_MEDIA} 2000/XP のみ: メディアプレイヤーを起動します。
{LAUNCH_APP1} 2000/XP のみ: ユーザー設定のアプリケーション1を起動します。
{LAUNCH_APP2} 2000/XP のみ: ユーザー設定のアプリケーション2を起動します。

ASCIIコードでAを送信(テンキーでALT+065)するためには次のようにします。
    Send("{ASC 065}")

次のようにして同じキーを繰り返し送信することができます。
    Send("{DEL 4}") ;DELキーを4回押す
    Send("{S 30}") ;30個の文字'S'を送信する
    Send("+{TAB 4}") ;SHIFT+TABを4回押す

キーを押し続ける場合(一般にはゲームでしか利用されません)
    Send("{a down}") ;A キーを押し続けます
    Send("{a up}") ;A キーを離します

capslock、numlock、scrolllockキーの状態を設定します。
    Send("{NumLock on}") ;NumLockキーをオンにします。
    Send("{CapsLock off}") ;CapsLockキーをオフにします。
    Send("{ScrollLock toggle}") ;ScrollLockの状態を切り替えます。

変数を回数に使いたい場合、次のようにしてください。
    $n = 4
    Send("+{TAB " & $n & "}")

ASCIIコードでAを4回送信したい場合、次のようにしてください。
    $x = Chr(65)
    Send("{" & $x & " 4}")

ラップトップコンピュータのほとんどはspecialFnキーを持っています。このキーはシミュレートできません。

注意:flagパラメータを1に設定することで 上記の"特別"な処理を無効にすることができます。これは変数を使って文を送信をする場合、また完全に入力した通りの文を送信する場合に使われます。

例として(コントロールパネルの)フォルダオプションを開いて次の操作を試してみてください。
Send("{TAB}") 次のコントロール(button、checkboxなど)に移動します。
Send("+{TAB}") 前のコントロールに移動します。
Send("^{TAB}") (タブのあるウィンドウの場合)次のウィンドウタブに移動します。
Send("^+{TAB}") 前のウィンドウタブに移動します。
Send("{SPACE}") チェックボックスのチェックの切り替え、ボタンのクリックに使えます。
Send("{+}") ("本当"のチェックボックスであれば)チェックボックスをチェックします。
Send("{-}") チェックボックスのチェックをはずします。
Send("{NumPadMult}") SysTreeView32 内のフォルダを開きます。

Altキーとの組み合わせを使えばメニューアイテムにアクセスできます。メモ帳を起動して次の操作を試してみてください。
Send("!f") はメモ帳のファイルメニューにへのアクセスキーである Alt+f を送信します。他の文字も試してみてください!

Send("{DOWN}") メニュー上を下に移動します。
Send("{UP}") メニュー上を上に移動します。
Send("{LEFT}") 左方向に移動して次のメニューを開きます。またはサブメニューを閉じます。
Send("{RIGHT}") 右方向に移動して次のメニューを開きます。またはサブメニューを開きます。
Alt+F4、PrintScreen、Ctrl+Cなどの意味について知らない場合は、ウィンドウズヘルプ(Win+F1で起動)のキーボードショートカットのリストを参照。

 

関連

SendAttachmode (Option), SendKeyDelay (Option), SendKeyDownDelay (Option), ControlSend

 

Set oAutoIt = WScript.CreateObject("AutoItX3.Control")
oAutoIt.Send "#r"
oAutoIt.WinWaitActive "Run"
oAutoIt.Send "notepad.exe{Enter}"
oAutoIt.WinWaitActive "Untitled -"
oAutoIt.Send "Today's time/date is {F5}"