FC2ブログに自動ログイン(ログアウト)「fc2blogLogIn」の解説
さてFC2ブログの自動ログイン(ログアウト)について説明してきましたが、今回は自動ログイン(ログアウト)をサブルーチン化させます。
前回の方法では、1アカウントしかログイン処理ができませんが、サブルーチン化させることで、どんなアカウントでも簡単にログイン処理をすることが可能になります。
FC2ブログに自動ログイン(ログアウト)のサブルーチン
Sub fc2blogLogIn(objIE As InternetExplorer, _
fc2blogId As String, _
fc2blogPass As String, _
Optional ieType As String = "ieView")
'IEでfc2blog画面を起動
If ieType = "ieView" Then
Call ieView(objIE, "http://fc2.com/login.html?ref=blog")
ElseIf ieType = "ieNavi" Then
Call ieNavi(objIE, "http://fc2.com/login.html?ref=blog")
End If
'ログアウト処理
If tagCheck(objIE, "a", "ログアウト") = True Then
Call tagClick(objIE, "a", "ログアウト")
End If
'fc2blogID自動入力
Call formText(objIE, "id", fc2blogId)
'fc2blogログインパスワード自動入力
Call formText(objIE, "pass", fc2blogPass)
'ログインボタンをクリック
Call tagClick(objIE, "input", "ログイン")
End Sub
FC2ブログに自動ログイン(ログアウト)のマクロ
Sub sample1()
Dim objIE As InternetExplorer
Call fc2blogLogIn(objIE, "★FC2ブログID★", "★FC2ブログPASS★")
End Sub
Sub sample2()
Dim objIE As InternetExplorer
Call ieView(objIE, "http://www.vba-ie.net/")
Call fc2blogLogIn(objIE, "★FC2ブログID★", "★FC2ブログPASS★", "ieNavi")
End Sub
実行結果
引数は以下の4つが設定されています。
引数名 | データ型 | 内容 | 値の事例 | 初期値 | 省略 |
---|---|---|---|---|---|
objIE | InternetExplorer | IEオブジェクト | objIE,objIE2 | × | |
fc2blogId | String | FC2ブログのログインID文字列 | "★FC2ブログID★" | × | |
fc2blogPass | String | FC2ブログのログインパスワード文字列 | "★FC2ブログPASS★" | × | |
ieType | String | IEオブジェクトの状態文字列 | "ieView", "ieNavi" | "ieView" | ● |
「objIE」「fc2blogId」「fc2blogPass」は必須項目で、「objIE」は複数ページを表示させる場合に「objIE」「objIE2」と複数オブジェクトを生成します。
「fc2blogId」にはFC2ブログのログインIDを、「fc2blogPass」にはFC2ブログのログインパスワードを設定します。
次に「ieType」ですが、こちらはIEオブジェクトの状態によって、処理を分岐させるものです。
新規でIEオブジェクトを作成する場合は「ieView」を指定し、「ieViewサブルーチン」で処理します。
既存のIEオブジェクトがある場合は「ieNavi」を指定し、「ieNaviサブルーチン」で処理させます。
こちらは初期設定が「ieView」で設定させており、Optionalを付けて宣言した引数なので、省略することができます。
'IEでFC2ブログログアウト画面を起動
If ieType = "ieView" Then
Call ieView(objIE, "http://fc2.com/login.html?ref=blog")
ElseIf ieType = "ieNavi" Then
Call ieNavi(objIE, "http://fc2.com/login.html?ref=blog")
End If
「ieType」で「ieView」「ieNavi」サブルーチンのどちらかでIEを起動するか処理を行います。
'ログアウト処理
If tagCheck(objIE, "a", "ログアウト") = True Then
Call tagClick(objIE, "a", "ログアウト")
End If
こちらはログインしていた場合のログアウト処理ですが、「tagCheckサブルーチン」を利用してログアウトリンクがある場合は、そちらをクリックする処理をしています。
ちなみにログアウト部分のHTMLソースは以下になります。
'FC2ブログログイン処理
Call formText(objIE, "id", fc2blogId)
Call formText(objIE, "pass", fc2blogPass)
Call tagClick(objIE, "input", "ログイン")
こちらでは、ログインするための情報を入力し、ログインボタンをクリックしています。「fc2blogId」にはFC2ブログログインIDが、「fc2blogPass」にはFC2ブログログインパスワードが格納されています。
あとはログインボタンをクリックし、ログイン完了です。
ここまでがFC2ブログ自動ログインのサブルーチン化についての解説でした。
こちらの内容は前回とあわせて理解できたかと思います。
ID・パスワードを記録する機能が付いているので、ここだけの処理はあまり活用はないかもしれませんが、記事を自動でアップするなど機能を追加すると便利な機能になりますので、サブルーチンを利用して更に機能追加していってください。
次の記事: VBAのIE操作でfacebook情報取得 >>
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。