リンクを新しいタブで開いて操作する

リンクを新しいタブで開いて操作するサンプルコードです。標準モジュールに以下のコードを追加して、OpenNewTabプロシージャを実行します。

OpenNewTabプロシージャを実行すると、まずYahoo! Japanに移動します。そして新しいタブヤフオク!を開き、「VBA」と検索します。

サンプルコード

【動作確認日】2014年2月11日
【動作確認環境】Windows XP SP3・Excel 2007・Internet Explorer 8

解説

まず、新しいタブを開くためにnavigate2メソッドを利用しています。

navigate2メソッドの二番目の引数には、指定したURLを新しいタブで開くためのオプション(navOpenInNewTab)を指定しています。

そして新しいタブに制御を移すために、現時点でアクティブなタブを判定します。アクティブなタブを判定する方法は、以下のURLを参考にさせていただきました。

IE7/IE8で、現在または最後にアクティブなIEを捕捉する。(その2)

具体的には、シェルオブジェクトからウィンドウの配列を取得し、個々のウィンドウオブジェクトのstatusTextプロパティに、ダミーのテキストを代入しています。

ダミーテキストの代入に成功すれば、現在アクティブなタブであると判定します。アクティブなタブを特定すれば、後は取得したタブ(IEオブジェクト)を普通に操作できます。

MSDNの参考ページ(英語)

スポンサーリンク