VBAでIEを起動し、Webページ内パスワードボックスへ値を反映する方法です。
パスワードボックスは基本的にはテキストボックスへの処理と同一です。下記記事も参考にしてください。
VBAでIE操作「テキストボックスへ入力する」【エクセルマクロ】
パスワードボックスに文字入力するサンプルコード
楽天証券のサイトを参考にログインの一連の流れも踏まえてコード作成しています。
'■InternetExplorerでパスワードボックスへの値反映 Sub sample_IE_password_box_input() Dim objIE As InternetExplorer '■IEを起動 Set objIE = CreateObject("InternetExplorer.Application") objIE.Visible = True '■該当ページへ遷移(楽天証券ログイン画面へ遷移) objIE.navigate "https://www.rakuten-sec.co.jp/ITS/V_ACT_Login.html" Call Call_IE_WaitTime '■ユーザーID objIE.Document.getElementsByClassName("vact-login-form-02-field__input")(0).Value = "1111" '■ログインパスワード objIE.Document.getElementsByClassName("vact-login-form-02-field__input vact-login-form-02-field__input--pass")(0).Value = "1111" '■ログインクリック objIE.Document.getElementByID("login-btn").Click End Sub
'■HTMLサンプル <input id="form-login-pass" type="password" name="passwd" value="" maxlength="20" tabindex="2" onfocus="chfocus('1')" class="vact-login-form-02-field__input vact-login-form-02-field__input--pass" autocomplete="on" style="width:100%;">
注意点
毎度おなじみですが、Call_IE_WaitTimeの処理はこちらを参照ください。
その他
Internet Explorerを使用して、Webスクレイピングは敷居が高い風に捉えられますが、
上記のように、パーツ化して組み合わせ処理するだけです。
Web上のデータを触りたい要望は会社様でも個人様でも多いと思います。
VBA IE操作を覚えて効率化しませんか?
作成が大変であれば弊社で代行開発も可能です。お気軽にお問い合わせください。
コメント