操作するページは引き続きYahooの乗換案内です。(サンプルソース)
Yahoo乗換案内のコンボボックスは、idを用いている場合とidを用いていないnameのみの場合の2種類がありますので、それぞれ説明します。
コンボボックス(idを用いている場合)
idを用いている場合のコンボボックスは【日時】があります。
今回は【日時】の月をサンプルとしてご紹介します。
タグにidが設定されている場合は、getElementById("~") を使う事で操作できます。
そして、プルダウンメニューの上から 0, 1, 2 ...と採番されるので、objIE.document.getElementById(idの値)(プルダウンメニュー順番).Selected = true で操作します。
【日時】の月
<乗換案内html>
<select id="m" name="m">
   <option value="01" selected>1月</option>
   <option value="02">2月</option>
   <option value="03">3月</option>
   <option value="04">4月</option>
・
・
   <option value="10">10月</option>
   <option value="11">11月</option>
   <option value="12">12月</option>
   <option value="01" selected>1月</option>
   <option value="02">2月</option>
   <option value="03">3月</option>
   <option value="04">4月</option>
・
・
   <option value="10">10月</option>
   <option value="11">11月</option>
   <option value="12">12月</option>
<Excelマクロ(VBa)>
▽「1月」を選択(0:1月、1:2月、2:3月、3:4月・・・、9:10月、10:11月、11:12月)
objIE.document.getElementById("m")(0).Selected = True
▽「2月」を選択(0:1月、1:2月、2:3月、3:4月・・・、9:10月、10:11月、11:12月)
objIE.document.getElementById("m")(1).Selected = True
・・
▽「12月」を選択(0:1月、1:2月、2:3月、3:4月・・・、9:10月、10:11月、11:12月)
objIE.document.getElementById("m")(11).Selected = True
コンボボックス(nameのみの場合)
idを用いていないnameのみの場合のコンボボックスは運賃の欄に【種別】【座席】、条件の欄に【歩く速度】【表示順序】があります。
今回は運賃の欄の【種別】【座席】をサンプルとしてご紹介します。
タグにidが設定されている場合はgetElementById("~")を使う事が出来ましたが、idが設定されていない今回の場合はname=~に注目してall("~")で操作します。
そして、プルダウンメニューの上から 0, 1, 2 ...と採番されるので、objIE.document.all(nameの値)(プルダウンメニュー順番).Selected = true で操作します。
【種別】
<乗換案内html>
<select name="ticket">
<option value="ic" selected>ICカード優先</option>
<option value="normal" >現金(きっぷ)優先</option>
<option value="ic" selected>ICカード優先</option>
<option value="normal" >現金(きっぷ)優先</option>
<Excelマクロ(VBa)>
▽「ICカード優先」を選択(0:ICカード優先、1:現金(きっぷ)優先)
objIE.document.all("ticket")(0).Selected = True
▽「現金(きっぷ)優先」を選択(0:ICカード優先、1:現金(きっぷ)優先)
objIE.document.all("ticket")(1).Selected = True
【座席】
<乗換案内html>
<select name="expkind">
<option value="1" selected>自由席優先</option>
<option value="2" >指定席優先</option>
<option value="3" >グリーン車優先</option>
<option value="1" selected>自由席優先</option>
<option value="2" >指定席優先</option>
<option value="3" >グリーン車優先</option>
<Excelマクロ(VBa)>
▽「自由席優先」を選択(0:自由席優先、1:指定席優先、2:グリーン車優先)
objIE.document.all("expkind")(0).Selected = True
▽「指定席優先」を選択(0:自由席優先、1:指定席優先、2:グリーン車優先)
objIE.document.all("expkind")(1).Selected = True
▽「グリーン車優先」を選択(0:自由席優先、1:指定席優先、2:グリーン車優先)
objIE.document.all("expkind")(2).Selected = True