フレームを操作する

フレームを操作するサンプルコードです。標準モジュールに以下のコードを追加して、FrameNavigateプロシージャを実行します。

FrameNavigateプロシージャを実行すると、このサンプル用に作成したダミーのフレームページに移動して、左側フレームのリンク(VBAによるIE自動制御)をクリックします。

このコードではIHTMLDocumentオブジェクトを利用しているので、[Microsoft HTML Object Library]ライブラリを参照する必要があります。コンパイルエラーが出る場合、コードウィンドウの「ツール」→「参照設定」メニューから、[Microsoft HTML Object Library]にチェックが付いているかどうか確認してください。

サンプルコード

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

解説

フレームを使っているサイトはほとんどなくなりましたが、まだ利用しているサイトも存在します。フレームを操作するためには、操作したいフレームのDocumentオブジェクトを取得する必要があります。

Documentオブジェクトを取得するために、IEFrameDocumentという関数を導入しています。この関数の二番目の引数には、操作したいフレームのsrcの値を渡します。今回は左側のフレームのリンクをクリックしたいので、左側のフレームのsrcの値(”menu.html”)を渡しています。

Documentオブジェクトを取得したら、framesプロパティから目的のフレームを特定します。

フレームを特定したら、後は通常のIEの操作の仕方と変わりません。リンクをクリックするために今回作成した関数、IELinkClickByDoc関数を使用してリンクをクリックしています。

スポンサーリンク