Office関連

Excel 2013で駅すぱあとWebサービス APIの「経路探索」を使ってみました。

「駅すぱあとWebサービス API無償提供」を利用してみました。」で、駅すぱあとWebサービス APIを紹介しましたが、Twitterでサポートの方からAPIの使い方を公開しても良いとの話を伺いましたので、早速Excelから本APIを利用する方法を紹介します。

※ 本API(法人向け)を利用するには認証(API)キーが必須になりますので、まずはこちらのページから申し込みをして、キーを受け取ってください。

本APIを利用すると、駅や路線、運行会社の情報などを取得できるのですが、今回はRooteで探索結果を表示するためのURLを取得する「経路探索」を使用してみます。

■ リクエスト先

http://api.ekispert.com/v1/xml/search/course/light?key=(認証キー)

■ リクエストパラメーター(2013/10/4 時点の情報)

名称 データ型 説明
from string 出発駅(地)。駅コード(または駅名称)を指定可能です
to string 到着駅(地)。駅コード(または駅名称)を指定可能です
via string 経由駅(地)。駅コード(または駅名称)を指定可能です (省略可。省略時は指定なしとなります)
date int 探索日付(YYYYMMDD) (省略可。省略時は現在日付となります)
time int 探索時刻(HHMM) (省略可。省略時は現在時刻となります)
searchType string 探索種別 (省略可。省略された場合は、発時刻探索となります)
plane string 飛行機。利用する:true, 利用しない:false (省略可。省略時は利用するとなります)
shinkansen string 新幹線(のぞみ含む)。利用する:true, 利用しない:false (省略可。省略時は利用するとなります)
limitedExpress string 特急。利用する:true, 利用しない:false (省略可。省略時は利用するとなります)
bus string バス(路線バス・高速バス)。利用する:true, 利用しない:false (省略可。省略時は利用するとなります)
redirect string 結果をリダイレクトするかどうか。リダイレクトする:true, リダイレクトせずURL文字列を返す:false (省略可。省略時はリダイレクトせずURL文字列を返します)

Webサービスドキュメント – API – API仕様 – 探索 より

■ レスポンス例(XML)

<?xml version="1.0" encoding="UTF-8"?>
<ResultSet apiVersion="1.9.0.0" engineVersion="201309_03a">
  <ResourceURI>http://roote.ekispert.net/result?dep_code=22828&amp;arr_code=28626&amp;via1_code=&amp;yyyymmdd=20131001&amp;hour=13&amp;minute=15&amp;type=dep&amp;local=true&amp;highway=true&amp;dep=&amp;arr=&amp;via1=&amp;via2=&amp;via2_code=&amp;connect=true&amp;liner=true&amp;ship=true&amp;sleep=false&amp;surcharge=3&amp;sort=time</ResourceURI>
</ResultSet>

※ APIの詳細な利用方法は、ドキュメント(認証キーが記載されたメールに、キーと一緒にリンクが記載されています)に書かれているので、そちらを参照してください。

リクエストパラメーターは上記の通りで、今回は「from」(出発駅)「to」(到着駅)「date」(日付)「time」(時刻)を使用します。

各値はセルで指定することにして、とりあえず今回は下記セルを使います。

・認証キー:セルC2
・出発駅:セルC4
・到着駅:セルD4
・日付:セルE4
・時刻:セルF4

ExcelからWeb APIを利用するときに使う関数は、当ブログでも散々紹介している「WEBSERVICE」関数で、出発駅と到着駅には日本語が含まれるので「ENCODEURL」関数も合わせて使います。

・セルC6:

WEBSERVICE関数で取得したXMLデータから任意の値を抽出するには「FILTERXML」関数を使います。

・セルC7:

Rooteの結果URLが抜き出せたので、「HYPERLINK」関数を使ってリンクを設定します。

・セルC8:

Ekispert_02_01

上記関数を一つにまとめると、下記のようになります。

・セルG4:

Ekispert_02_02

エラー処理は入れていないので実用上は問題ありますが、Excel 2013で追加されたWEB関数と駅すぱあとWebサービス APIを使うと、上記のように簡単に路線探索が行えるようになります。

探索結果を直接XMLやJSONで取得したり、定期情報や時刻表を取得したりするには有償版が必要になりますが、無償版だけでも十分便利です!

ポータブル デバイスからファイルをコピーするVBAマクロ前のページ

Windows Azure MSDN 特典をアクティブ化しました。次のページ

関連記事

  1. Office関連

    Excel Web Appのブック埋め込みを試してみました。

    Microsoftが提供しているOffice Web Appsはいわば…

  2. Office関連

    「NetOffice」で簡単に.NETからOfficeを操作

    ネットで「NetOffice」なるツールがあることを知ったので、早速試…

  3. Office アドイン

    [Office用アプリ]TechEd North America 2013のセッション資料

    アメリカ・ニューオリンズで現地時間6月3日から6日にかけて開催された開…

  4. Office関連

    Office 365 APIをVBAから呼び出す(3)

    前々回の記事でOffice 365とAzure ADの紐づけを、前回の…

  5. Office関連

    選択中の図形の文字列を蛍光ペンでハイライトするPowerPointマクロ

    MSDNフォーラムに「PowerPoint 2016で、マクロで選択中…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP