出発地点は固定です。
・エクセルシートのセルに目的地の郵便番号入力して選択した状態にする。
・マクロを起動するとNAVITIMEのホームページが表示され出発地点から目的地までの自動車ルートが検索される。
・検索の結果の「距離」と「高速料金」がエクセルシートの「目的地郵便番号」の隣に表示される。
・ホームページを閉じる。
上記のVBAを考えています。
まだマクロで、NAVITIMEのホームページを開くことしか出来ませんので、
どなたかお力をお貸し下さい。
No.2ベストアンサー
- 回答日時:
こんにちは
No1様の回答にあるように、APIが用意されているので、そちらを利用するのが良さそうに思います。
とは言え、数少ない利用であればスクレイピングで行うのもありかも。
サイトの仕組みによっては難しいものもあるので、難しい場合はやはりAPIということになると思います。
>まだマクロで、NAVITIMEのホームページを開くことしか出来ませんので、~~
方法のイメージは少々違いますが、どうやら表示できれば、ほぼ八割方はできていると言えるかもしれません。
NAVITIMEのサイトの構造がわからないので、少しテストしてみましたが、概ねURLのクエリ部で制御が可能になっているようです。
クエリ部は構造的に
start={
"name":"東京都",
"lat":35.719269,"lon":139.766606,
"road-type":"default"
}
goal={
"name":"京都府",
"lat":33.638825,"lon":130.806211,
"road-type":"default"
}
type=car
car=only.multi.turn
start-time=xxxx-xx-xxTxx:xx:xx
のような形式になっていて、この形で直接アクセスすればそのまま結果が表示されます。
出発地、目標地の地名(name)は表示用に利用するだけのようで、整合が取れていなくても問題はなさそうです。
これに対して、経緯度データのlat、lonは、当然ながら正しい値が必要となります。
項目(key)は他にもまだいくつかありますが、上記がきちんと設定されていれば、結果を表示してくれます。
(上記が不足だと、検索入力画面が表示されます)
後は、結果から必要な情報を読み取れば良いだけなので、さほど難しくはないかと。
質問者様が、実際に、どのような環境を想定しているのか不明ですが、VBAと直接の相性が良いのはIEでしょうか。
Seleniumを利用してChromeでアクセスする方法もあるようですが・・・
いずれにしろ、HTMLから値を読み取る程度の制御であれば、検索しさえすれば、すぐに見つかるものと思います。
以下は、一例です。
https://www.fastclassinfo.com/entry/vba_ie_control
https://www.vba-ie.net/
https://www.sejuku.net/blog/72067
>どなたかお力をお貸し下さい。
上記が充分なヒントになるようであれば、実現の可能性は高いと思います。
『丸投げで作って欲しい』というおつもりなら、道遥かでしょう。
ご回答、ありがとうございます。
fujillinさんの言うとおりエクセルとIEで検索と抽出ができないか考えておりました。
fujillinさんには、テストしていただいたりサイトの構成を調べていただいたり色々考えていただきいて、
本当にありがとうございます。
私では、「こんな事できないかな?」との考えだけでやみくもに色々なサイトを見に行っては、
どうしたら良いのだろうと悩んでいるだけでした。
経緯度のデータでアクセスできれば、
私の考えている事が出来そうだと教えていただき望みが持てて嬉しいいです。
まだまだ教えていただいたアドバイスさえも、知識不足で理解しきれていませんが、
fujillinさんが調べていただいた事を無駄にしないように知識を高めて理解し、目標を実現させたいと思います。
お手数をおかけして、参考になるサイトも複数教えていただき、ありがとうございます。
頑張って勉強してまいります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 地図・道路 カーナビタイムのルート検索結果について 枚方ー能登のルート 2 2022/08/07 13:03
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Excel(エクセル) 製品番号での整列と、検索に関して 3 2023/06/28 19:20
- Excel(エクセル) 指定文字列が該当するA列をアクティブセルにするには 3 2022/08/17 13:18
- 地図・道路 富山県 通って 岡山まで行きます。 舞鶴若狭自動車道 ・ 名神高速道路 について 2 2023/07/04 10:40
- iPhone(アイフォーン) Google map のルート保存について 1 2022/05/13 11:50
- Excel(エクセル) マクロVBAのフォルダ階層別で検索の方法 4 2022/04/03 23:23
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Visual Basic(VBA) 検索のユーザーフォームの表示について 1 2023/03/27 23:31
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
Excel・Word リサーチ機能を無...
-
Excel マクロ VBA プロシー...
-
一つのTeratermのマクロで複数...
-
メッセージボックスのOKボタ...
-
ExcelのVBA。public変数の値が...
-
TERA TERMを隠す方法
-
Excel VBAからAccessマクロを実...
-
VBA アドインについて お詳しい...
-
エクセルに張り付けた写真のフ...
-
マクロ実行時、ユーザーフォー...
-
既存のマクロをコンボボックス...
-
VBAのIF分で時間指定の条件式の...
-
ダブルクリックで貼り付けた画...
-
エクセルVBAでNAVITIMEを使って...
-
ファイルが見つからない時、ス...
-
特定文字のある行の前に空白行...
-
ソース内の行末に\\
-
EXCELのVBAでRange("A1:C4")を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel・Word リサーチ機能を無...
-
エクセルで特定の列が0表示の場...
-
特定のPCだけ動作しないVBAマク...
-
Excel マクロ VBA プロシー...
-
メッセージボックスのOKボタ...
-
一つのTeratermのマクロで複数...
-
ExcelのVBA。public変数の値が...
-
Excel VBAからAccessマクロを実...
-
EXCELのVBAでRange("A1:C4")を...
-
ExcelVBAでPDFを閉じるソース
-
エクセルに張り付けた写真のフ...
-
エクセルで別のセルにあるふり...
-
TERA TERMを隠す方法
-
2つのマクロでチェックボックス...
-
マクロ実行時、ユーザーフォー...
-
【マクロ】1つのマクロの中に...
-
ピボットテーブルでの毎回可変...
-
特定文字のある行の前に空白行...
-
エクセルのマクロについて教え...
-
wordを起動した際に特定のペー...
おすすめ情報