2019-09-21ねぇもりさん、VBAのIE操作でログイン処理できるよねもりうん、ユーザ名・パスワードを入力して、ログインボタンをクリックする処理だねログインだけじゃなくてさ、そこから他のページに飛びたいんだよねもりなるほど、ログイン後に他のページに遷移する処理を作りたいんだねVBAでIEを操作し、指定のWebサイトへのログイン処理後、さらに別ページに遷移する処理を作成します。※この記事ではSBI証券のマイページを用いて紹介していきますが、SBI証券のアカウントをお持ちでなくても大丈夫です。【処理のイメージ】スポンサーリンクContentsWebサイトにログイン後、他のページに遷移する(事前準備)参照設定IEを起動して目的のWebサイトにアクセスするSBI証券のマイページにログインする処理ログイン処理完了の待機とHTMLの再読み込みname属性のないimgタグをクリックする方法コードまとめ(おまけ)目的の画面のHTMLを直接取得するWebサイトにログイン後、他のページに遷移するこの解説記事では、下記の2ステップの処理を作成します。SBI証券のマイページにログインするログイン後のトップページから「ポートフォリオ」画面に遷移する※SBI証券のアカウントをお持ちでなくても大丈夫なように紹介していきます!(事前準備)参照設定VBAでIEを操作するためには下記2つのライブラリを参照します。ControlsVBE(エディタ)で「メニュー」→「ツール」→「参照設定」を選択します。IEを起動して目的のWebサイトにアクセスするまずはお決まりの処理です。ここではSBI証券のログインページにアクセスします。SubSBI証券のマイページにログインする処理SBI証券に限らず、たいていのWebサイトはこのような作りになっていますね。「ログインボタン」をクリックユーザーネームとパスワードを入力し、ログインボタンをクリックする処理を作成するために、HTMLを確認しましょう。ユーザーネーム・パスワード入力欄のHTMLです。></div></dd>ログインボタンのHTMLです。onclick="changeNWEBFLG();">これらのHTMLで注目するのは、inputタグのname属性の値です。ACT_loginこれらの値をもとにログイン処理を作ります。HTMLドキュメントオブジェクトのgetElementByIdメソッドでname属性の値を指定します。'ログインログイン処理完了の待機とHTMLの再読み込みもりポイントはHTMLドキュメントの再読み込みだよ!この時点で変数htmlDocは「ログインページ」のHTMLオブジェクトを参照しています。ログインボタンをクリックしたら、ログインページのHTMLはもう不要なので、参照を破棄します。ログイン処理には通常、数秒程度かかるので、処理完了まで待機します。ログイン処理が完了して、ログイン後のページ(=トップページ)が表示されたら、トップページのHTMLドキュメントを再度読み込みます。'ログイン後のページのHTMLを読み込むname属性のないimgタグをクリックする方法つづいて、トップページ上部にある「ポートフォリオ」をクリックする処理を作成します。もりこれがログイン後に別ページに遷移する処理だよ目的のボタン「ポートフォリオ」のHTMLを確認します。height="30">この「ポートフォリオ」ボタンはimgタグで作られています(ボタンのように見える画像)name属性がないねもりそうだね、こういう場合はalt属性に注目するよ!name属性がない場合はalt属性の値を利用します。場合クリックする処理を作ります。Sub(おまけ)目的の画面のHTMLを直接取得するねぇもりさん、とあるページをスクレイピングしたいんだけどね。もりさんのプログラミング。