リンクを新しいウィンドウで開いて操作する

リンクを新しいウィンドウで開くサンプルコードです。標準モジュールに以下のコードを追加して、OpenNewWindowプロシージャを実行します。

OpenNewWindowプロシージャを実行すると、まずYahoo! JAPANに移動します。そして新しいウィンドウでヤフオク!のページを開いて「VBA」と検索します。

サンプルコード

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

解説

URLを新しいウィンドウで開くために、IEオブジェクトのnavigate2メソッドを利用しています。

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

この新しいウィンドウは、CreateObjectメソッドで作成したオブジェクトからは操作できません。この新しいウィンドウを操作するために、シェルオブジェクトを取得します。

シェルオブジェクトは起動中のウィンドウの情報を持っているので、シェルオブジェクトから新しいウィンドウのオブジェクトをWindowsメソッドで取得します。

Windowsメソッドの引数にobjShell.Windows.Count – 1を渡すことによって、最後に開かれたウィンドウを特定します。新しいウィンドウのオブジェクトを取得したら、その後はCreateObjectメソッドで作成したウィンドウと同じように操作できます。

MSDNの参考ページ(英語)

スポンサーリンク