MS Access Tips/Sample and VBA and Blog customize etc...

出発地、到着地を指定してYAHOO路線情報の乗換案内を表示する

いぜん、住所を元に Googleマップ で地図やルートを表示する という記事を紹介しましたが、それの乗換案内版です。とある掲示板で質問があってサンプルを作成してので紹介します。

関数の引数に、出発地、到着地、などの条件を指定して実行するとYAHOO路線情報の乗換案内の検索結果を表示します。

乗換案内表示タイトル

難易度:

YAHOO路線情報の乗換案内

乗換案内は、下記のページから出発地、到着地等の条件を入力すれば結果が表示されます。

乗換案内、時刻表、運行情報 - Yahoo!路線情報

VBAからこのページを開いて、DOMを利用して、条件をセットして、検索ボタンをクリックするようする方法もあります。

ただ、結果ページのURLを見れば、URLにパラメータで条件が埋め込まれています。このURLをVBAで生成して、このURLで直接ブラウザを開いた方が簡単だし、高速でしょう。上記の Googleマップ表示関数も同様の手法を使っています。

例えば、出発「東京」到着「大阪」で検索すると下記のようなURLになります。

http://transit.loco.yahoo.co.jp/search/result?flatlon=&from=%E6%9D%B1%E4%BA%AC&tlatlon=&to=%E5%A4%A7%E9%98%AA&via=&via=&via=&ym=201409&d=04&hh=15&m2=9&m1=0&type=1&ticket=ic&al=1&shin=1&ex=1&hb=1&lb=1&sr=1&s=0&expkind=1&ws=2&kw=%E5%A4%A7%E9%98%AA

これを手がかりに、いろいろ条件を変えてそのURLを調べれば、パラメータの仕様が分かってきます。

このパラメータの仕様のページがあればいいのですが、見つかりませんでした。

日本語はURLエンコードする必要があります。

乗換案内表示関数

標準モジュールに下記のコードをコピーします。URLエンコード関数は、Googleマップ表示関数と共通ですので、それをすでに導入済みの場合は不必要です。

上記は、IEで結果を表示します。通常使用しているブラウザで表示させたい場合は、ShowTransit を下記に変更してください。

使用例

出発地, 到着地 は入力必須です。後の引数は省略することも可能です。
日付や時刻の内容チェックはしていないので、必要に応じて追加してください。


拍手する

Leave a reply






Trackbacks

trackback URL
http://hatenachips.blog34.fc2.com/tb.php/432-de093501
該当の記事は見つかりませんでした。