[[20190904235200]] 『マップファンやgooglemapで距離測定』(みだし) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『マップファンやgooglemapで距離測定』(みだし)

WE上の地図ソフトを使い出発地から目的地までの道のり(直線距離ではなく道のり)を一括で求めるVBAを探し求めていたところ、↓の質問と回答が見つかりました。

https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q121364375...

質問者の方は問題なく動作したように書かれているのですが、回答者の方の記載されたコードを単に標準モジュールにコピペしたところ、

Set sel = ie.document.getElementByID("kensakujouken").getElementsByTagName("select").Item(2)

の部分で「実行時エラー"424" オブジェクトが必要です」という表示が出てしまいます。こうなってしまう理由は何でしょうか・・・。

マップファンでもgooglemapでも良いので、30人分程度の職員の自宅から出張先(およそ100種類くらい)までの距離を手打ち検索ではなく自動計算したく、ネット上を漁っている次第です。

< 使用 Excel:Excel2016、使用 OS:Windows10 >


追記。

https://www.excel.studio-kazu.jp/kw/20151127160724.html

↑このご質問に対するご回答コードも試してみましたが、

 MsgBox "時間:" & _
           HTTP.responseXML.DocumentElement.LastChild.LastChild.ChildNodes(1).LastChild.nodeTypedValue & vbLf & _
           "距離:" & _
           HTTP.responseXML.DocumentElement.LastChild.LastChild.ChildNodes(2).LastChild.nodeTypedValue

の部分で、「実行時エラー"91" オブジェクト変数またはwithブロック変数が設定されていません」という表示が出てしまい、こちらも動作しませんでした。
(みだし) 2019/09/05(木) 00:04


 >https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q121364375...

 正確に書いて貰えませんか?

 クリックしても飛ばないんですけど。

(半平太) 2019/09/05(木) 09:08


 エクセルVBAについて。 WE上の地図ソフトを使い
 https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12213093662

 エクセルのVBAについてです。 マップファンで、指定した「出発地」から「目的地...
 https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12136437552

 MAPFANのページの記述に変更があって、"kensakujouken"というIDのでは見つからないようです。
 5年前の回答ですから。
(´・ω・`) 2019/09/05(木) 09:13

 かぶったが。

 これのようだ。
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12136437552

 ちなみに質問者は知恵袋での質問をコピーしてこちらに書き込んだためリンクがおかしくなっているようだ。
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12213093662
(ねむねむ) 2019/09/05(木) 09:16

現在のMapFanのHTMLを調べてみると、以下が現在地と目的地のテキストボックスのようです。 参照元マクロは何やら難しくタグを追っていますが、シンプルに書けばこれだけでしょう。
 ie.document.all(0).getElementsByTagName("input")(0).value
 ie.document.all(0).getElementsByTagName("input")(1).value

INPUTタグは2つだけでした。 まぁ、Webのサービスなんて、ソースの変更は頻繁にあるので、自力でHTMLが読めないと、今後の運用は難しいですよ。 なので、HTMLの解析を頑張ってください。
(???) 2019/09/05(木) 10:36


ちょっと試してみたところ、MapFanの現在値と目的地を文字列指定しても、ルート検索ボタンが有効になりませんでした。 地図クリックによる座標指定しか受け付けなくなったようなので、これではマクロで自動化できませんね。

GoogleMapの方も、最近は吹き出しで検索結果を表示するようなので、駄目です。 Google APIsなら可能かも知れませんが、私は登録していないので、判らないです。
(???) 2019/09/05(木) 11:54


みなさま、色々調べていただいてどうもありがとうございます。またURLミス大変失礼いたしました。
現在は簡単にはできないんですね。仮にできたとしても、今の私の力ではgoogleやmapfanの仕様変更がある度に振り回されるのがオチだということを痛感いたしました。
HTMLは昔、個人ホームページを作成していた程度のレベルなので全然ダメダメです。勉強しつつ、とりあえず目下のところは自力で距離検索を行うことにします。
(みだし) 2019/09/05(木) 20:53

Google APIsについて補足しておきます。

も少しマクロ化を頑張るのであれば、CreateObject("MSXML2.XMLHTTP") あたりをキーワードに検索してみてください。 また、以前なら「https://maps.googleapis.com/maps/api/distancematrix/xml」を利用して、緯度経度指定、または住所やランドマーク指定で2点間の移動距離等を調べる事ができました。 今でもこのURLは使えますが、飛んでみると判る通り、API keyを使わないと駄目だよ〜、というエラーが返ってきます。

API keyは、Googleのアカウントを持っていて、クレカ情報を登録していれば使えて、月200ドル分(だいたい1万リクエストくらいだったかな?)までは無料で従来通り使えますが、これを超えると、超えた分だけ自動的に課金されてしまう仕組みです。

通常であれば、1人の使用では余裕で無料の範囲内に収まりますが、ツールで連続してリクエスト発行したり、公開して多数の人がリクエストしたりすることで、意図せずに課金されてしまう可能性が思い浮かびます。 それが嫌なので、私はクレカ情報を登録していないので、実験できないのです。 会社でGoogleと契約していれば、そっちからAPI keyを得る事もできるようです。

有料になったので、APIの方は、仕様追加はあっても、突然仕様が変わったり、無くなったりはしないでしょう。 Googleに課金さえすれば、お望みのマクロで仕事の効率化は可能です。
(???) 2019/09/06(金) 11:30


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.