機能と数式 | VBA | セミナー | オンラインソフト | お問い合わせ | その他
Top > Excel > VBA > VBAのステートメント

SendKeysステートメント



SendKeysステートメント

構文
SendKeys string[,wait]
stringには、アクティブウィンドウに渡すキーストロークを指定します。
waitは省略かのうです。Trueを指定すると、キーストロークが渡るまで処理を中断します。

解説
アクティブウィンドウに対して、キーボードから入力したのと同じようにキーストロークを渡します。
「3」や「A」などの文字は、ダブルコーテーションで囲って指定します。バックスペースやファンクションキーは{BACKSPACE}{F1}と、特殊なコードを指定します。Shiftキー、Ctrlキー、Altキーと同時に押すキーストロークは、「+」「^」「%」と合わせて指定します。


コマンド意味
 SendKeys "ABC" A→B→Cとキーを押した
 SendKeys "{ENTER}" Enterキーを押した
 SendKeys "{F2}" [F2]キーを押した
 SendKeys "+(AB)" Shiftキーを押しながらA→Bと押した
 SendKeys "%{F4}" Alt+[F4]キーを押した

同じキーストロークを続けて複数回送るには、キーの後ろに回数を指定します。

コマンド意味
 SendKeys "{UP 5}" ↑キーを5回押した
 SendKeys "{A 10}" Aを10回押した

サンプル
次の例は、メモ帳を起動してメモ帳に文字を入力します。入力後Alt+[F4]を送ってメモ帳を閉じます。

Sub Sample()
    Dim i As Integer
    Shell "Notepad.exe", 1
    For i = 1 To 3
        SendKeys "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
        SendKeys "{Enter}"
    Next i
    SendKeys "%{F4}"
End Sub



このエントリーをはてなブックマークに追加