制御 キーボードSendKeysを使う
※より実装に近く表示させる為、コードの改行を避けています。スマホ等で閲覧される際は向きを変えてご覧ください。
※実装するバージョンによってはバージョンアップの仕様により動作しないコードもあります。実装には動作確認の上ご使用下さい。
'◆構文 SendKeys string[, wait] ' 'string 必ず指定します。転送するキー コードを表す文字列式を指定します。 ' 'Wait 省略可能です。 '名前付き引数 string の転送によって行われる処理が終了するまで、実行を一時中断するかどうかを '次に示すブール型 (Boolean) の値で指定します。 'False (既定値) プロシージャの終了を待たずに次の行に制御を移します。 'True 処理が終了するまで実行を一時中断します。 ' '解説 キーボードの各キーは 1 つ以上の文字で表されます。 'キーボード上の文字を渡すには、キーの指定にその文字を使います。 'たとえば、キーボード上の文字 A を表すには、名前付き引数 string に "A" を指定します。 '複数の文字を表すには、文字を連続して設定します。 'たとえば、文字 A、B、C を表すには、名前付き引数 string に "ABC" と指定します。 ' 'プラス記号 (+)、キャレット (^)、パーセント記号 (%)、チルダ (~)、かっこ (( )) はそれぞれ SendKeys ステートメントで '特別な意味を持っています。 'これらの文字を渡すには、文字を中かっこ ({ }) で囲んで指定します。 'たとえば、プラス記号は {+} のように指定します。 '角かっこ ([ ]) は SendKeys ステートメントでは特別な意味を持ちませんが、 'Microsoft Windows の他のアプリケーションで特別な意味を持つ場合があるので、中かっこで囲みます。 'これは、ダイナミック データ エクスチェンジ (DDE) を行うときに角かっこが重要になることがあるためです。 '文字として中かっこを渡すには、{{} または {}} を使います。 ' '(help抜粋) '◆キー コード '・BackSpace {BACKSPACE}、{BS}、または {BKSP} '・Ctrl + Break {BREAK} '・CapsLock {CAPSLOCK} '・Del または Delete {DELETE} または {DEL} '・↓ {DOWN} '・End {END} '・Enter {ENTER}または {~} '・Esc {ESC} '・Help {HELP} '・Home {HOME} '・Ins または Insert {INSERT} または {INS} '・← {LEFT} '・NumLock {NUMLOCK} '・PageDown {PGDN} '・PageUp {PGUP} '・PrintScreen {PRTSC} '・→ {RIGHT} '・ScrollLock {SCROLLLOCK} '・Tab {TAB} '・↑ {UP} '・F1 {F1} '・F2 {F2} '・F3 {F3} '・F4 {F4} '・F5 {F5} '・F6 {F6} '・F7 {F7} '・F8 {F8} '・F9 {F9} '・F10 {F10} '・F11 {F11} '・F12 {F12} '・F13 {F13} '・F14 {F14} '・F15 {F15} '・F16 {F16} '◆SendKeys ステートメントの使用例 'SendKeys ステートメントは、Macintosh では実行できません。 Dim ReturnValue, I ReturnValue = Shell("CALC.EXE", 1) ' 電卓を実行します。 AppActivate ReturnValue ' 電卓をアクティブにします。 For I = 1 To 20 ' ループ カウンタを設定します。 SendKeys I & "{+}", True ' 電卓にキー コードを転送して、 Next I ' I の値に 1 を加算します。 SendKeys "=", True ' 和を求めます。 SendKeys "%{F4}", True ' Alt + F4 キーを転送して電卓を終了します。 |