VBAでキー操作を送信する

※金融機関における重要書面確認は顧客の責任です。この記事に書いてあることは真似せず、必ず自分の目で確認してください!!

久々にSBI証券にログインしたら「重要なお知らせ」が溜まっていました。全部確認しないと取引できませんが、いかんせん200件近くあり、手で確認していたのでは日が暮れます。こんなものはどうせ読まないのでパソコンにやらせてしまうことにしました。

手段としてはいろいろ考えられます。比較的しっかりとしたものであればobjIEを使うのが良いのだと思うのですが、数分で作る使い捨てマクロには向きません。今回はSendKeysを使って実現することにしました。やや頼りない感じもしますが、IE以外の様々なアプリを操作することができるので、覚えておいて損はないのでしょう。

なおSendKeysの実行後、なぜかNumLockがオフになってしまいます。なんでなんでしょうね。

www.youtube.com
参考Office TANAKA - Excel VBAステートメント[SendKeysステートメント]

Sub Sample()
    Dim i As Integer
    Application.Wait [Now() + "0:00:05"]
    For i = 1 To 100
        SendKeys "+{Tab 2}"
        SendKeys "{Enter}"
        Application.Wait [Now() + "0:00:02"]
        SendKeys "{Tab 5}"
        SendKeys "{Enter}"
        Application.Wait [Now() + "0:00:02"]
    Next i
End Sub
(ご利用条件)当ブログは筆者の個人的見解を述べたものであり、筆者の所属する団体またはその公式見解とは一切関係がありません。当ブログは特定の金融商品の売買を推奨または勧誘またはあっせんするものではありません。当ブログにおいて情報提供の対価として閲覧者から金銭を徴収することはありません。当ブログの内容の正確性に関しては万全を期していますが、筆者は何らその保証を行うものではありません。投資は自己責任です。当ブログの内容をもとにして生じた損害について、筆者は一切の責任を負いません。