VBA YahooAPIを使って2つの場所の経路を取得してみた



The following two tabs change content below.

taka

あることがキッカケでVBAを独学で勉強しました、今ではブログを通してVBAでできることを解説しつつ、VBAや他の言語の勉強、ブログ運営の勉強をしています(^^♪

どうも、takaです(^^♪

さて、少し前にYahooAPIを使って、郵便番号から住所を取得する方法をご紹介しましたね!

これで味を占めた私は、VBAでYahooAPIをもっと使って見ようということで、調子に乗って経路取得プログラムを作成してみました(笑)

ということで今回はVBAを使って【出発地と到着地を指定してその経路を取得するプログラム】をご紹介します(^^♪

今回使用するYahooAPI

この二つのAPIを使用して作成してみました(‘ω’)

今回のプログラムの流れ

今回のプログラムの流れはこのような形です。

  1. 住所・キーワードを入力してAPIで座標(緯度・経度)を取得する。
    Yahoo!ジオコーダAPIはUTF-8でデータを送る必要があるのでWorksheet関数の【EncodeURL関数】を使用する。
  2. レスポンスで返ってきた緯度・経度の順番が、経路地図APIで使用する順番と反対なので、一度配列に入れてから入れ替える。
  3. 取得した座標をもとに画像をリクエスト、【WebBrowserコントロール】を使用して表示する。

大まかに言うとこのような感じです。

今回作成したフォーム

今回作成したフォームは画像のような形です。

今回はプログラムの流れを見ていただくためにわざとTextBoxコントロールを多めにして表示をしています。実際に必要なのは2つあれば十分です(^^♪

コントロール役割
TextBox1YahooAPIキーを入力
TextBox2出発地の住所やキーワードを入力
TextBox3取得した出発地の座標を表示
TextBox4出発地住所をもとにUTF-8エンコードした文字列を表示
TextBox5到着地の住所やキーワードを入力
TextBox6取得した到着地の座標を表示
TextBox7到着地住所をもとにUTF-8エンコードした文字列を表示
CommandButton1取得した座標をもとにYahoo!へリクエストを送る
WebBrowser1Yahoo!から得た地図画像を表示する

VBAで経路地図を表示させるサンプルコード

なるべくコードは少なく作成したつもりです(*_*;

私自身まだHTTPリクエストには不慣れなため、もっと上手い使い方があるのかもしれませんが、とりあえず動作はしましたので、よければご利用ください(^^♪

注意事項とお願い
  • 今回のコードは【Microsoft XML, v6.0】を参照設定して作成しております。
    参照設定についてはこちらを参考にしてください。※参照設定しない場合も対応できるようにしてあります
  • 申し訳ありませんが、Yahoo!APIキーはご自身でご用意ください。
  • 今回使用したAPIの詳しい使用は下記からご覧ください
    リンク:コンテンツジオコーダAPI
    リンク:経路地図API
  • Yahoo!APIキーの取得方法は【VBA 郵便番号から住所を取得する方法】をご覧ください
  • また、APIの使用についてはYahoo!の規約に遵守するようにお願いします。

ダウンロード

当サイトの免責事項をお読みになってからお使いください。

ファイルやコードの利用、WEBサイトの利用について

サンプルコードなどは当サイトの免責事項をよくお読みになってからお使いください。

Sponsored Link

 

特別企画!IT企業の実情をIT企業の社長に聞いてみた!

独学者が多いVBAプログラマー「せっかくプログラム言語を覚えたし、IT企業に転職しようかな?でも、IT企業って良いイメージ聞かないし実際はどうなんだ?」という疑問にIT企業の社長に直に聞いてみました!!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です