ツイッターに自動ログイン・ログアウト処理

こちらは、エクセルVBAでツイッターに自動ログイン(ログアウト)する方法についての解説となります。VBAの知識がない方やツイッター自動ログイン(ログアウト)ツールをお求めの方には、無償で提供していますので「ツイッター自動ログインツール」よりダウンロードしてください。

今回は、ツイッターに自動ログイン(ログアウト)する方法について解説していきます。
ツイッターに毎回ログインするのが手間であったり、複数アカウントを保有している場合に簡単にログインしたいという方が多いのではないでしょうか。
こちらでは、ログインする基本部分について説明していますので、カスタマイズして目的にあったプログラムを構築してください。

スポンサー リンク

ツイッターに自動ログイン(ログアウト)のマクロ

Sub sample()

 Dim objIE As InternetExplorer

 'IEバージョン9以上
 If IeVerCheck > 8 Then

  'ツイッターログイン画面表示
  Call ieView(objIE, "https://twitter.com/login")

  'ログインチェック
  If objIE.LocationURL <> "https://twitter.com/login" Then

   'ツイッターログアウト処理
   Call ieNavi(objIE, "http://twitter.com/logout")
   Call tagClick(objIE, "button", "ログアウト")
   Call ieNavi(objIE, "https://twitter.com/login")

  End If

   'ツイッターログイン処理
   Call formText(objIE, "session[username_or_email]", "★ツイッターID★")
   Call formText(objIE, "session[password]", "★ツイッターPASS★")
   Call tagClick(objIE, "button", "ログイン")

 'IEバージョン8以下
 Else

  'ツイッターログイン画面表示
  Call ieView(objIE, "https://mobile.twitter.com/i/guest")

  'ログインチェック
  If objIE.LocationURL <> "https://mobile.twitter.com/i/guest" Then

   'ツイッターログアウト処理
   Call ieNavi(objIE, "https://mobile.twitter.com/account")
   Call tagClick(objIE, "input", "ログアウト")
   Call ieNavi(objIE, "https://mobile.twitter.com/i/guest")

  End If

   'ツイッターログイン処理
   Call formText(objIE, "username", "★ツイッターID★")
   Call formText(objIE, "password", "★ツイッターPASS★")
   Call tagClick(objIE, "input", "ログイン")

 End If

End Sub

実行結果

ツイッター自動ログイン

それでは、1つずつ見ていきましょう。


'IEバージョン9以上
If IeVerCheck > 8 Then
 (省略)
'IEバージョン8以下
Else
 (省略)
End If

まず、IEのバージョンをチェックする「ieVerCheck」を利用して、Webブラウザのバージョンで処理を分岐させています。
こちらはInternet Explorerのバージョンチェック「ieVerCheck」でも説明しましたが、バージョンが8以下のWebブラウザの場合、表示されないかもしくはモバイル版が表示されます。
PC版とモバイル版ではソース内容が異なりますので、最初に「IF~Thenステートメント」で処理を分けています。


'ツイッターログイン画面表示
Call ieView(objIE, "https://twitter.com/login")

Webブラウザのバージョン9以上の場合をはじめに説明すると、ツイッターのログイン画面を表示させます。


'ログインチェック
If objIE.LocationURL <> "https://twitter.com/login" Then

 'ツイッターログアウト処理
 Call ieNavi(objIE, "http://twitter.com/logout")
 Call tagClick(objIE, "button", "ログアウト")
 Call ieNavi(objIE, "https://twitter.com/login")

End If

ここでまた「If~Thenステートメント」を利用していますが、ログインが保持されている場合はログアウト処理をしなければいけません。こちらはその処理になります。

「LocationURLプロパティ」から現在表示されているURLを取得し、ログイン画面のURLかをチェックしています。
ログイン画面のURLでない場合は、ログアウト処理を行います。
パソコン版のログアウトは「http://twitter.com/logout」にアクセスすれば、ログアウト処理になりますので、「ieNavi」にて直接アクセスします。

次に指定したタグをクリックする「tagClick」でログアウトボタンをクリックしますが、先にHTMLソースを確認します。


<form action="/logout" class="t1-form signout" method="post">
 <input type="hidden" value="ae103045636cb35461b7d18d8230d32a9f9da586" name="authenticity_token">
 <h1>Twitter から<strong>ログアウト</strong>しますか?</h1>
 <div class="buttons-arrow"></div>
 <div class="buttons">
  <a href="/" class="btn cancel">キャンセル</a>
  <button type="submit" class="btn primary-btn js-submit">ログアウト</button>
 </div>
 <div class="aside">
  <p>
   いつでも取り消すことができます
  </p>
 </div>
</form>

ログアウトはbuttonタグで設定されているのが分かりますね。
次に指定したタグをクリックする「tagClick」を利用して、buttonタグに「ログアウト」が含まれるタグをクリック処理します。
ログアウトが完了したら、再度「ieNavi」でログイン画面を表示されます。


'ツイッターログイン処理
Call formText(objIE, "session[username_or_email]", "★ツイッターID★")
Call formText(objIE, "session[password]", "★ツイッターPASS★")
Call tagClick(objIE, "button", "ログイン")
こちらでは、ログインするための情報を入力し、ログインボタンをクリックしています。
こちらもHTMLソースを見てみましょう。


<form action="https://twitter.com/sessions" class="t1-form js-signin signin" method="post">
<fieldset>
<legend id="signin-form-legend" class="visuallyhidden">ログイン</legend>
<div class="textbox">
<label class="t1-label username js-username">
<span>電話番号、メールアドレスまたはユーザー名</span>
<input class="js-username-field email-input js-initial-focus" type="text" name="session[username_or_email]" autocomplete="on">
</label>
<label class="t1-label password js-password">
<span>パスワード</span>
<input class="js-password-field" type="password" value="" name="session[password]">
</label>
</div>

<div class="subchck">
<button type="submit" class="btn submit">ログイン</button>
<label class="t1-label remember">
<input type="checkbox" value="1" name="remember_me" checked="checked">
<span>保存する</span>
</label>
</div>

<input type="hidden" name="scribe_log">
<input type="hidden" name="redirect_after_login" value="">
<input type="hidden" value="a767ae60d59dbe0cab78d96d6e4c9cb331342c4d" name="authenticity_token"/>

</fieldset>
<div class="divider"></div>
<p class="footer-links">
<a class="forgot" href="/account/begin_password_reset">パスワードを忘れた場合はこちら</a><br />
<a class="mobile has-sms" href="/account/complete">既にテキストメッセージで Twitter をご利用ですか?</a>
</p>
</form>

フォームのテキストボックスに入力する「formText」を利用して、inputタグに「session[username_or_email]」が含まれるテキストボックスへ「★ツイッターID★」を入力します。
次に、inputタグに「session[password]」が含まれるテキストボックスへ「★ツイッターPASS★」を入力します。
これで、ツイッターID/PASSが入力されました。
最後に「tagClick」を利用して、buttonタグに「ログイン」が含まれているタグをクリック処理をします。
これでログインが完了となります。

続いてIEのバージョンが8以下の場合を見ていきましょう。


'ツイッターログイン画面表示
Call ieView(objIE, "https://mobile.twitter.com/i/guest")

ツイッターのログイン画面を表示させます。


'ログインチェック
If objIE.LocationURL <> "https://twitter.com/login" Then

 'ツイッターログアウト処理
 Call ieNavi(objIE, "https://mobile.twitter.com/account")
 Call tagClick(objIE, "input", "ログアウト")
 Call ieNavi(objIE, "https://mobile.twitter.com/i/guest")

End If

こちらもバージョン9以上の処理と同様になります。
「LocationURLプロパティ」から現在表示されているURLを取得し、ログイン画面のURLかをチェックしています。
ログイン画面のURLでない場合は、ログアウト処理を行います。
モバイル版のログアウトは「https://mobile.twitter.com/account」にアクセスしログアウトボタンをクリックする処理になりますので、「ieNavi」にてアカウント管理画面にアクセスします。
次に指定したタグをクリックする「tagClick」でログアウトボタンをクリックします。
ログアウトが完了したら、再度「ieNavi」でログイン画面を表示されます。


'ツイッターログイン処理
Call formText(objIE, "username", "★ツイッターID★")
Call formText(objIE, "password", "★ツイッターPASS★")
Call tagClick(objIE, "input", "ログイン")

こちらも同様にログイン処理をしていきます。
「formText」を利用して、inputタグに「username」が含まれるテキストボックスへ「★ツイッターID★」を入力します。
次に、inputタグに「password」が含まれるテキストボックスへ「★ツイッターPASS★」を入力します。
これで、ツイッターID/PASSが入力されました。
最後に「tagClick」を利用して、inputタグに「ログイン」が含まれているタグをクリック処理をします。
これでログインが完了となります。
次はこちらの自動ログイン処理のサブルーチン化について解説していきます。

次の記事: VBAのIE操作でツイッター自動ログイン・ログアウト2 >>

Excel VBAでIEを思いのままに操作できるプログラミング術 Excel 2013/2010/2007/2003対応

近田 伸矢, 植木 悠二, 上田 寛

IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。

VBAのIE制御についてのQ&A掲示板

↑エクセルVBAのIE(InternetExplorer)操作で分からない事があればこちらの掲示板よりご質問ください^^

ExcelのVBA初心者入門

↑こちらはExcelのVBAをマスターできるよう初心者向けのエクセルVBA入門コンテンツになります^^

VBAのIE制御入門RSS

RSSフィードを登録すると最新記事を受け取ることができます。

VBAIE操作のスカイプレッスン

VBAでIE(InternetExplorer)制御の準備

エクセルVBAでIE制御の応用編

こちらでは、エクセルVBAで実際に作成したIE(InternetExplorer)制御ツールをまとめています。自動ログインや情報収集など具体的に解説しています。IE(InternetExplorer)制御をされる方は参考にしてください。

【ダウンロード】IE操作に便利なツール

こちらでは、これまでに紹介したIE(InternetExplorer)操作で便利な機能をツール化しています。無償でダウンロードできますので、目的に合わせたご利用ください。

IEオブジェクトのメソッド・プロパティ

こちらでは、IE(InternetExplorer)オブジェクトのメソッド・プロパティをまとめています。

IE操作に利用されているVBA関数

こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたVBA関数をまとめています。

IE操作に利用されているステートメント

こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたステートメントをまとめています。ExcelのVBAで基本的な部分になりますので、しっかり理解しましょう。

IE(InternetExplorer)制御のVBAコード

こちらでは、これまでに作成したIE(InternetExplorer)操作で役立つサブルーチンをまとめています。
全てをコピーする必要はありませんが、目的に合わせたサブルーチンをご利用ください。