• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:二つのタブを開き、二つ目のタブに対して、操作し)

VBAで二つのタブを開き、別タブに操作する方法

このQ&Aのポイント
  • VBAを使用して、二つのタブを開いて別タブに対して操作する方法について教えてください。
  • 例えば、VBAのie操作を使用して、最初のタブでGmailを開き、次のタブでDocomoメールを開く場合、どのようにすれば良いでしょうか?
  • また、DocomoメールにはVBAでPWを入力する必要がありますが、どのように入力すれば良いでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

こんにちは。 ' ' 〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓 ' ' 参照設定 ■ Microsoft Internet Controls ■ SHDocVw Sub ReW9095183() Const navOpenInNewTab = 2048 Dim myObj As Object Dim objIE As InternetExplorer Dim objIE2 As InternetExplorer Dim objShell As Object ' As Shell32.Shell ' ■ Microsoft Shell Controls And Automation ■ Shell32 Dim cnWnd As Long ' ' ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー   Const GOOGLE = "https://mail.google.com/mail/u/0/?pli=1#inbox"   Const DOCOMO = "https://mail.smt.docomo.ne.jp/mail/#fid=10000000&page=1" ' ' ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー ' ' objShell.Windows で 逐一 エクスプローラ を捉える為のShell オブジェクト   Set objShell = CreateObject("Shell.Application") '  Set objShell = New Shell32.Shell ' ' objShell.Windows.Count = エクスプローラ(Windows+Internet)の数、現在値   cnWnd = objShell.Windows.Count ' ' ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー   Set objIE = CreateObject("InternetExplorer.Application")   With objIE     .Visible = True     .Navigate GOOGLE  ' グーグル     .Navigate2 DOCOMO, navOpenInNewTab ' navOpenInNewTab = 2048 ' ドコモ   End With ' ' ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー ' ' objShell.Windows.Count で 追加タブの エクスプローラ が読み込まれるまで待機   Do While objShell.Windows.Count < cnWnd + 2     DoEvents   Loop ' ' objShell.Windows の 最後にあるのが 追加タブの エクスプローラ   Set objIE2 = objShell.Windows(cnWnd + 1) ' ドコモ ' ' ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー   With objIE  ' グーグル     Do While .Busy Or .ReadyState <> READYSTATE_COMPLETE '  READYSTATE_COMPLETE = 4       DoEvents     Loop   ' ' グーグル 処理 ?   End With ' ' ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー   With objIE2 ' ドコモ     Do While .Busy Or .ReadyState <> READYSTATE_COMPLETE       DoEvents     Loop   ' ' ドコモ 処理 '    .Document.getElementById("Di_Uid").Value = "ID" ' ? 必要ならイキ アカウントID要指定     .Document.getElementById("Di_Pass").Value = "PassWord" ' ? パスワード要指定 '    .Visible = False '    .Document.getElementsByClassName("button_submit nextaction")(0).Click ' ? ログインするならイキ '    .Visible = true   End With ' ' ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー '  objIE2.Quit:  objIE.Quit ' ? 必要ならイキ   Set objIE = Nothing:  Set objIE2 = Nothing End Sub ' ' 〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓

参考URL:
http://okwave.jp/qa/q8939992.html
QBMDUVSIZECSE
質問者

お礼

回答ありがとうございました。

その他の回答 (1)

  • heburusu
  • ベストアンサー率85% (140/164)
回答No.1

Shell.Application を使って、IEのタブを列挙&操作できるみたいです。

参考URL:
http://vba-code.net/ie/open-link-in-new-tab/
QBMDUVSIZECSE
質問者

お礼

回答ありがとうございました。

関連するQ&A

専門家に質問してみよう