![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
いつもいつもお世話になっております。
直接VBAの内容ではない質問かもわかりませんが、ここが一番識者の方が多く
いつもお世話になっているので、質問させていただきます。
Google Mapで
出発点と到着点を指定して電車を利用して所要時間を得るVBAに挑戦しております。
電車利用はあらゆるサイトでdirflg=tと記述するように説明されており、試してみ
ましたが、どうしても自動車による所要時間となってしまいます。
時間をかけて試してみてdirflg=rでやっと電車を選択することができました。
自分の環境だけの問題なのか、Google Mapの仕様変更なのか、釈然としません。
もし関連するサイトや、詳細な内容をご存じの方がいらっしゃいましたらご教示願
いたいと思い投稿させていただきました。何卒よろしくお願します。
*** 環境はWindows10 64Bit Excel 2016 IE Ver11.0.46です。***
Sub Main()
Dim URL As String
Dim A As String
Dim B As String
Dim IE As Object
A = "東京都千代田区丸の内1丁目"
B = "東京都千代田区永田町1丁目7-1"
'=== 経路パラメータ dirflg=t ==================================
URL = "https://maps.google.co.jp/maps?hl=ja&dirflg=t&sa … & EncodeURL(A) _
& "&daddr=" & EncodeURL(B)
'=== 経路パラメータ dirflg=r ==================================
'URL = "https://maps.google.co.jp/maps?hl=ja&dirflg=r&sa … & EncodeURL(A) _
& "&daddr=" & EncodeURL(B)
'====================================================
Set IE = CreateObject("InternetExplorer.Application")
IE.Navigate (URL)
IE.Visible = True
End Sub
'###### URL エンコード 64Bit
Private Function EncodeURL(ByVal sWord As String) As String
Dim d As Object
Dim elm As Object
sWord = Replace(sWord, "\", "\\")
sWord = Replace(sWord, "'", "\'")
Set d = CreateObject("htmlfile")
Set elm = d.createElement("span")
elm.setAttribute "id", "result"
d.appendChild elm
d.parentWindow.execScript "document.getElementById('result').innerText" & _
"= encodeURIComponent('" & sWord & "');", "JScript"
EncodeURL = elm.innerText
End Function
No.1ベストアンサー
- 回答日時:
こんにちは。
ご質問内容は、VBAの内容ではなく、オプションスイッチ(URL バラメータ)の内容ですから、然るべきサイトを探し当てればよいだけだと思います。
http://www.erichstauffer.com/technology/google-m …
dirflg=h Switches on “Avoid Highways” route finding mode.
dirflg=t Switches on “Avoid Tolls” route finding mode.
dirflg=r Switches on “Public Transit” – only works in some areas.
dirflg=w Switches to walking directions
英文ですと、dirflg =r は、公共交通を意味しているようです。
下記によれば
https://lovelog.eternal-tears.com/web/google-map …
•dirflg=d 車 'driving
•dirflg=r 電車 'Public transit
•dirflg=w 徒歩 'worlking
•dirflg=b 自転車 'bycicle
•dirflg=h 高速道路を避ける 'Avoid to high ways
•dirflg=t 有料道路を避ける 'Avoid to tolls
だそうです。
なお、二点間は、ある程度の距離がなければ、公共交通が使えませんね。
A = "東京都千代田区丸の内1丁目"
B = "長野県諏訪市ヤマト3-3-5"
'エプソンの工場のあるところで試してみました。
なお、私が使っている EngcodeURL は、以下のようなものです。
Function EncodeURL(ByVal sWord As String) As String
With CreateObject("ScriptControl")
.Language = "JScript"
EncodeURL = .CodeObject.encodeURIComponent(sWord)
End With
End Function
WindFaller様
本当に、いつもいつもご教示いただき、ありがとうございます。
'https://lovelog.eternal-tears.com/web/google-map …
は私もたどり着きましたが
PC
dirflg=d 車
dirflg=t 電車(デフォルト)
dirflg=w 徒歩
スマホ
dirflg=d 車(デフォルト)
dirflg=r 電車
dirflg=w 徒歩
Mapwiki(すでにドメイン失効している)によると、下記の通りになっている。
dirflg=d 車
dirflg=r 電車
dirflg=w 徒歩
dirflg=b 自転車
dirflg=h 高速道路を避ける
dirflg=t 有料道路を避ける
となっておりPC用では、dirflg=t 電車(デフォルト)なっていたので釈然としない
感じを受けたものです。
(たしかにスマホ用では、dirflg=r 電車となっていますが・・・)
またEngcodeURLについては、私も以前WindFaller様がご提示された方法を使用して
いた記録は残っているのですが、今あらためて使用してみると次のエラーとなりました。
*******************************
実行時エラー 429
ActiveXコンポーネントは
オブジェクトを作成できません。
*******************************
なので、どこから見つけてきたのかは、忘れてしまったのですが、今の方法で対応して
おります。
たぶん自宅PCがWindows10(64Bit)に成ってからだと思うのですが、記憶がさだかではあ
りません。なにしろ物好きな64歳のじいさんなもので・・・(笑)
いずれにしてもWindFaller様にまたまたお世話になりました。ありがとうございます。
情報収集のため、もう少し開けておきます。
No.2
- 回答日時:
今みましたが、
>With CreateObject("ScriptControl")
>実行時エラー 429
>ActiveXコンポーネントは
C:\Windows\System32\msscript.ocx
だから、32bit版しかありませんから、64 bit版のmsscrip.ocx を探しだしイントールするか、
http://www.eonet.ne.jp/~gakana/tablacus/scriptco …
こんな方法を取るか、私も考えなくてはならないです。
64bit の件については、近々、PCを新しくするつもりですので、その時に分かるものだとは思います。相当、直さなくてはならない部分が出て来るかと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:12
- Excel(エクセル) Excel-VBAの「しばらくお待ちください」のダイアログが自動的に閉じない 2 2023/05/24 15:31
- Visual Basic(VBA) VBA 別ブックからの転記の高速化について VBA 別ブックからの転記の高速化についてご教授下さい。 19 2022/07/26 13:07
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Excel(エクセル) 【エクセルマクロ】既に開いているIEの、サイズや表示位置を変更するには 4 2022/12/01 22:57
- Visual Basic(VBA) Excel VBA メール作成について 本文の中にExcel でコピーした図を上下に2つ 貼り付けを 2 2023/06/14 01:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
一番楽な死に方って何なんでし...
-
電車で音漏れしてる人にどうや...
-
電車内でデブの隣に座りたくあ...
-
朝の満員電車でも安定して通信...
-
月曜の朝の電車ってなぜか異様...
-
これって割り込みなのでしょうか?
-
貧乏ゆすりは何故悪いマナーと...
-
公園や電車など、公共の場でイ...
-
電車で統合失調症の人に絡まれ...
-
不思議。
-
通勤時、いつも同じ電車でお互...
-
成人男性で低身長の人の割合を...
-
「着く」と「行く/来る」の使...
-
電車で寄っ掛かってくるやつが...
-
声が遅れて届く?
-
電車で座っていると必ず自分の...
-
敬語表現
-
踏み切りの仕組みを教えてくだ...
-
男性に伺います。満員電車で痴...
-
電車の中でキャリーバッグに座...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
一番楽な死に方って何なんでし...
-
朝の満員電車でも安定して通信...
-
電車で座っていると必ず自分の...
-
公園や電車など、公共の場でイ...
-
通勤時、いつも同じ電車でお互...
-
ストーカー?毎日ジロジロ見て...
-
電車で統合失調症の人に絡まれ...
-
貧乏ゆすりは何故悪いマナーと...
-
電車で音漏れしてる人にどうや...
-
電車内でデブの隣に座りたくあ...
-
電車内で知らない女にスマホの...
-
職場まで徒歩で片道45分かかります
-
平日とは、月曜から何曜日まで...
-
これって割り込みなのでしょうか?
-
成人男性で低身長の人の割合を...
-
デートの待ち合わせに現地集合...
-
電車での席にて 隣に座るのを...
-
進捗が先んじているときの言葉...
-
電車の中でキャリーバッグに座...
-
知的障害者の方が電車で暴れます。
おすすめ情報