ie-excel

エクセル・マクロでie操作

Excel VBAでIEを操作 セレクトメニューを選択

2016/10/17

Excelでアンカーをたどり、リンクしていく方法。
検索する方法などを例示してきました。

今回は該当ページにセレクトタグ(プルダウンのメニュー)があった場合の選択方法を例示したいと思います。

そこで今回のお題は
・セレクトタグのあるサイトを表示
・メニューからプルダウンの2番目を選択する
を実践。

上記お題は、以下の操作をすることにより可能となります。
・エクセルを起動
・(バージョンによっては)マクロを有効にする
・マクロの編集画面で、以下のコードをコピー&ペースト
・マクロを実行

コピペするコード

「サンプル2」が選択されていませんか?

ではソースの解説です。
青字箇所は以前説明済みのために、赤字箇所に絞って記載します。

プルダウン式メニューを選択するには、上記の通り「selectedindex」を使用します。

注意したいのは、「0」から始まることです。

今回は2番目のプルダウンを選択したかったので、「1」を設定しています。

なお、当該命令を以下の通り変更いただいても同じく機能します。

オプションタグで設定されたVALUE値を上記のとおり「value」を指定しても同じ結果となります。

個人的には、数値の設定だけですむ前者の方が簡単なのでおすすめです。

なお、Selectタグではなく、Optionタグに対する命令も可能です。
その場合は、以下のように記述します。

選択する箇所を特定するには、上記のとおりVALUE値を「Value」で指定します。
他にも、表示されているテキストを「innertext」や「text」で指定する方法もあります。
選択する場合は「Selected」をTrueにすれば選択されます。
選択を解除したい場合Falseを設定すれば解除されます。

Selectタグは「multiple」で複数選択可能となります。
この場合、以下のように変更することで、複数選択が可能となります。

上記コードは、複数タグを処理するためにFor~Eachから最後まで抜け出さないよう「Exit For」の処理を削除していることに注意ください。
複数選択時以外はVALUE値を調べながらの記載となるために、あまりおすすめいたしません。

今回のポイントの整理です。
・プルダウン式メニューのSELECTタグは「selectedindex」を用いて選択可能(0から始まることに注意)
・オプションタグの選択にはvalue値を「Value」で選択
・OPTIONタグで「Selected」を用いて選択することも可能

といった3点がポイントです。

-ExcelでIE操作