- ベストアンサー
VBAで二つのタブを開き、別タブに操作する方法
- VBAを使用して、二つのタブを開いて別タブに対して操作する方法について教えてください。
- 例えば、VBAのie操作を使用して、最初のタブでGmailを開き、次のタブでDocomoメールを開く場合、どのようにすれば良いでしょうか?
- また、DocomoメールにはVBAでPWを入力する必要がありますが、どのように入力すれば良いでしょうか?
- みんなの回答 (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 ' ' 〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
その他の回答 (1)
- heburusu
- ベストアンサー率85% (140/164)
Shell.Application を使って、IEのタブを列挙&操作できるみたいです。
お礼
回答ありがとうございました。
お礼
回答ありがとうございました。