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