VBAのIE(InternetExplorer)制御でアメブロに自動ログイン・ログアウトのサブルーチン化する方法ついて解説しています。
さてアメブロの自動ログイン(ログアウト)について説明してきましたが、今回は自動ログイン(ログアウト)をサブルーチン化させます。
前回の方法では、1アカウントしかログイン処理ができませんが、サブルーチン化させることで、どんなアカウントでも簡単にログイン処理をすることが可能になります。
Sub amebloLogIn(objIE As InternetExplorer, _
amebloId As String, _
amebloPass As String, _
Optional ieType As String = "ieView")
'IEでアメブロログアウト画面を起動
If ieType = "ieView" Then
Call ieView(objIE, "http://www.ameba.jp/logout.do")
ElseIf ieType = "ieNavi" Then
Call ieNavi(objIE, "http://www.ameba.jp/logout.do")
End If
'IEでアメブロログイン画面を起動
Call ieNavi(objIE, "http://www.ameba.jp/")
'アメーバーID自動入力
Call formText(objIE, "amebaId", amebloId)
'アメブロログインパスワード自動入力
Call formText(objIE, "password", amebloPass)
'ログインボタンをクリック
Call tagClick(objIE, "input", "アメーバIDでログイン")
End Sub
※ドラッグ(スワイプ)すると全体を確認できます。
Sub sample1()
Dim objIE As InternetExplorer
Call amebloLogIn(objIE, "★アメブロID★", "★アメブロPASS★")
End Sub
Sub sample2()
Dim objIE As InternetExplorer
Call ieView(objIE, "http://www.vba-ie.net/")
Call amebloLogIn(objIE, "★アメブロID★", "★アメブロPASS★", "ieNavi")
End Sub
※ドラッグ(スワイプ)すると全体を確認できます。
引数は以下の4つが設定されています。
引数名 | データ型 | 内容 | 値の事例 | 初期値 | 省略 |
---|---|---|---|---|---|
objIE | InternetExplorer | IEオブジェクト | objIE,objIE2 | × | |
amebloId | String | アメブロのログインID文字列 | "★アメブロID★" | × | |
amebloPass | String | アメブロのログインパスワード文字列 | "★アメブロPASS★" | × | |
ieType | String | IEオブジェクトの状態文字列 | "ieView", "ieNavi" | "ieView" | ● |
「objIE」「amebloId」「amebloPass」は必須項目で、「objIE」は複数ページを表示させる場合に「objIE」「objIE2」と複数オブジェクトを生成します。
「amebloId」にはアメブロのログインIDを、「amebloPass」にはアメブロのログインパスワードを設定します。
次に「ieType」ですが、こちらはIEオブジェクトの状態によって、処理を分岐させるものです。
新規でIEオブジェクトを作成する場合は「ieView」を指定し、「ieViewサブルーチン」で処理します。
既存のIEオブジェクトがある場合は「ieNavi」を指定し、「ieNaviサブルーチン」で処理させます。
こちらは初期設定が「ieView」で設定させており、Optionalを付けて宣言した引数なので、省略することができます。
'IEでアメブロログアウト画面を起動
If ieType = "ieView" Then
Call ieView(objIE, "http://www.ameba.jp/logout.do")
ElseIf ieType = "ieNavi" Then
Call ieNavi(objIE, "http://www.ameba.jp/logout.do")
End If
※ドラッグ(スワイプ)すると全体を確認できます。
「ieType」で「ieView」「ieNavi」サブルーチンのどちらかでIEを起動しアメブロのログアウト処理を行います。
'IEでアメブロログイン画面を起動
Call ieNavi(objIE, "http://www.ameba.jp/")
※ドラッグ(スワイプ)すると全体を確認できます。
ログアウト処理が完了するとログイン画面を表示させます。
'アメブロログイン処理
Call formText(objIE, "amebaId", amebloId)
Call formText(objIE, "password", amebloPass)
Call tagClick(objIE, "input", "アメーバIDでログイン")
※ドラッグ(スワイプ)すると全体を確認できます。
こちらでは、ログインするための情報を入力し、ログインボタンをクリックしています。次の記事: VBAのIE操作でFC2ブログ情報取得 >>
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。
↑VBAのIE操作で分からない事があればこちらの掲示板よりご質問ください。
ExcelのVBA初心者入門↑こちらはVBAをマスターできるよう初心者向けのエクセルVBA入門コンテンツになります。
こちらでは、エクセルVBAで実際に作成したIE(InternetExplorer)制御ツールをまとめています。自動ログインや情報収集など具体的に解説しています。IE(InternetExplorer)制御をされる方は参考にしてください。
こちらでは、これまでに紹介したIE(InternetExplorer)操作で便利な機能をツール化しています。無償でダウンロードできますので、目的に合わせたご利用ください。
こちらでは、IE(InternetExplorer)オブジェクトのメソッド・プロパティをまとめています。
こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたVBA関数をまとめています。
こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたステートメントをまとめています。ExcelのVBAで基本的な部分になりますので、しっかり理解しましょう。
こちらでは、これまでに作成したIE(InternetExplorer)操作で役立つサブルーチンをまとめています。
全てをコピーする必要はありませんが、目的に合わせたサブルーチンをご利用ください。