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関連

    [Word]隠し文字をクイックアクセスツールバーから設定する。

    Wordで、部分的に印刷したくない文字列がある場合には「隠し文字」がよ…

  2. Office関連

    Slackのカスタム絵文字を一括作成するVBAマクロ

    在宅勤務で使うビジネスチャットサービスとして注目されている「Slack…

  3. Excel

    Google TTSで文字列を読み上げるExcelアドイン

    前回の記事で書いたGoogle TTSで文字列を読み上げるマクロ(言語…

  4. Office関連

    各スライドに配置されたオートシェイプからテキストを取得するPowerPointマクロ

    各スライドに配置されたオートシェイプからテキストを抜き出す処理を考えて…

  5. アイコン一覧

    Office 2013 アイコン一覧(NUM)

    ・Office 2013 アイコン一覧 NUM…

  6. Office関連

    [Office 2016]コマンド検索即実行、便利な「Tell Me」機能

    ※ 下記情報はOffice 2016 Preview版を元にしています…

コメント

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

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP