用于excel的Google API距离矩阵宏工具

用于excel的Google API距离矩阵宏工具,excel,google-maps-api-3,google-api,xmlhttprequest,distance,Excel,Google Maps Api 3,Google Api,Xmlhttprequest,Distance,我配置了一个宏工具,用于在Excel中计算不同点之间的距离。然而,自从GoogleAPI开始为这项服务付费后,它就不再使用了 我已经创建了一个GoogleAPI密钥,但目前我还停留在这一步,它说对象“IXMLHTTPRequest”的方法open失败了 你能帮我一下吗 以下是我的宏的整个脚本: 子计算器(Départ作为字符串,arriveée作为字符串,Distance作为字符串,temp作为双精度) 作为字符串的Dim surl 作为对象的Dim-oXH 作为字符串的文本 “利用谷歌A

我配置了一个宏工具,用于在Excel中计算不同点之间的距离。然而,自从GoogleAPI开始为这项服务付费后,它就不再使用了

我已经创建了一个GoogleAPI密钥,但目前我还停留在这一步,它说对象“IXMLHTTPRequest”的方法open失败了

你能帮我一下吗

以下是我的宏的整个脚本:


子计算器(Départ作为字符串,arriveée作为字符串,Distance作为字符串,temp作为双精度)
作为字符串的Dim surl
作为对象的Dim-oXH
作为字符串的文本
“利用谷歌API”
Distance=“”
Temps=0
Départ=替换(Départ,“,”+”)
Départ=供应商验收(Départ)
Arrivée=替换(Arrivée,“,”+”)
Arrivée=供应商接收(Arrivée)
苏尔=”http://maps.googleapis.com/maps/api/distancematrix/xml?origins=" & _
Départ&“&destinations=“&Arrivée&”_
“&模式=驱动&传感器=错误&单位=公制”
设置oXH=CreateObject(“msxml2.xmlhttp”)
含氧
.打开“get”,surl,False
.发送
bodytxt=.responseText
以
bodytxt=右(bodytxt,Len(bodytxt)-InStr(1,bodytxt,“”)-5)
如果InStr(1,bodytxt,“”)为0,则Temps_Texte=Left(bodytxt,InStr(1,bodytxt,“”)-1)
如果临时文本为“”,则
临时文本=替换(临时文本,“周”、“w”)
临时文本=替换(临时文本,“周”、“w”)
Temps_Texte=替换(Temps_Texte,“day”,“j”)
临时文本=替换(临时文本,“小时”,“小时”)
临时文本=替换(临时文本,“小时”,“小时”)
Temps_Texte=替换(Temps_Texte,“分钟”,“米”)
Temps_Texte=替换(Temps_Texte,“min”,“m”)
Temps_Texte=替换(Temps_Texte,“秒”,“秒”)
Temps_Texte=替换(Temps_Texte,“秒”、“s”)
Heure=拆分(临时文本“”)
j=0
关于错误转到fin
如果正确(Heure(j),1)=“w”,则Temps=Temps+Val(Heure(j))*7:j=j+1
如果右(Heure(j),1)=“d”,则Temps=Temps+Val(Heure(j)):j=j+1
如果正确(Heure(j),1)=“h”,则Temps=Temps+Val(Heure(j))/24:j=j+1
如果正确(Heure(j),1)=“m”,则Temps=Temps+Val(Heure(j))/24/60:j=j+1
如果正确(Heure(j),1)=“s”,则Temps=Temps+Val(Heure(j))/24/60/60:j=j+1
鳍:
错误转到0
如果结束
bodytxt=右(bodytxt,Len(bodytxt)-InStr(1,bodytxt,“”)-5)
如果InStr(1,bodytxt,“”)为0,则距离=左(bodytxt,InStr(1,bodytxt,“”)-1)
如果Distance=“”则Distance=“Aucun résultat”
距离=更换(距离,“公里”,“公里”)
距离=替换(距离,,,)
设置oXH=无
端接头
函数SupplierAccents(ByVal sChaine作为字符串)作为字符串
“法国咖啡杯”ici:http://www.developpez.net/forums/d1089902/logiciels/microsoft-office/excel/macros-vba-excel/suppression-accents-chaines-caracteres/
Dim sTmp作为字符串,i作为长,p作为长
Const SCARPONATE As String=“Á
Const sCarSansAccent As String=“aaaaa ceeeeiiiinooouuuuuuuuyaaaaaaceeeiiinouuuuuuuyy”
sTmp=sChaine
对于i=1至Len(sTmp)
p=仪表(SCARANCE,Mid(sTmp,i,1))
如果p>0,则Mid$(sTmp,i,1)=Mid$(斯卡桑口音,p,1)
接下来我
SupplierAccents=sTmp
端函数
在这行中:

surl = "http://maps.googleapis.com/maps/api/distancematrix/xml?origins=" & _
Départ & "&destinations=" & Arrivée & _
"&mode=driving&sensor=false&units=metric"
添加钥匙(并取下传感器=false):


谢谢,这很有效!然而,我不得不在[.Open“get”,surl,False]中将surl替换为“&&Départ&&destinations=“&arriveée&&uu”&mode=driving&units=metric&key=MY_API_key”,以使其工作
surl = "http://maps.googleapis.com/maps/api/distancematrix/xml?origins=" & _
Départ & "&destinations=" & Arrivée & _
"&mode=driving&sensor=false&units=metric"
surl = "http://maps.googleapis.com/maps/api/distancematrix/xml?origins=" & _
Départ & "&destinations=" & Arrivée & _
"&mode=driving&units=metric&key=MY_API_KEY"