Table of contents
Excel的应用范围很广。 而在使用时 VBA 那么,我们似乎可以在Excel中做任何我们想做的事情。 因此,我们当然可以 找出地方之间的距离 在这篇文章中,我将通过清晰的步骤和明确的图示,展示在Excel中使用谷歌地图计算距离的快速指南。
下载实践工作手册
你可以从这里下载免费的Excel工作簿,自己练习。
用Google-Maps计算距离.xlsm使用用户定义的函数在Excel中计算与谷歌地图的距离
在这里,我们将 找出距离 在麦克阿瑟公园和泽西市之间,使用谷歌地图。
首先,我们需要知道一件重要的事情。 要在Excel中使用谷歌地图计算距离,我们将需要一个 API 钥匙。 API 代表着 应用编程接口 .Excel使用API密钥与谷歌地图连接,以收集所需的数据。 一些地图提供免费的API密钥,如必应地图。 但谷歌地图不提供免费的API。 虽然你管理一个免费的API,但它不会完美地工作。 因此,你将不得不购买。 API 钥匙来自这个链接。
在这里,我已经管理了一个免费的 API 它不能正常工作,只是用来作为一个例子。 我们将使用 VBA 以创建一个 用户定义的功能 名为 计算_距离 至 找出距离 它将有三个论据-- 起始地点 , 目的地 ,以及 API密钥 现在让我们开始程序。
步骤。
- 新闻 ALT + F11 以打开 VBA窗口 .
- 接下来,点击如下。 插入> 模块 来创建一个新的模块。
Public Function Calculate_Distance(start As String, dest As String, Alink As String) As Double Dim first_Value As String, second_Value As String, last_Value As String Dim mitHTTP As Object first_Value = "//maps.googleapis.com/maps/api/distancematrix/json? origins=" second_Value = "& destinations=" last_Value = "& mode=car& language=pl& sensor=false& key=" & Alink Set mitHTTP =CreateObject("MSXML2.ServerXMLHTTP") Url = first_Value & Replace(start, " ", "+") & second_Value & Replace(dest, " ", "+") & last_Value mitHTTP.Open "GET", Url, False mitHTTP.SetRequestHeader "User-Agent", "Mozilla/4.0(兼容;MSIE 6.0;Windows NT 5.0)" mitHTTP.Send("" ) If InStr(mitHTTP.ResponseText, " "距离":{" )=0 Then GoTo ErrorHandl Set mit_reg =CreateObject("VBScript.RegExp"): mit_reg.Pattern = ""value".*?([0-9]+)": mit_reg.Global = False Set mit_matches = mit_reg.Execute(mitHTTP.ResponseText) tmp_Value = Replace(mit_matches(0).Submit_matches(0), ". ", Application.International(xlListSeparator) Calculate_Distance = CDbl(tmp_Value) Exit Function ErrorHandl: Calculate_Distance = -1 End Function
- 然后什么都没有,只是回到你的工作表。
代码分解。
- 首先,我使用了一个公共函数程序 计算_距离 .
- 然后声明了一些变量 first_Value, second_Value, and last_Value 为我们用户定义的函数的参数。
- 设置变量的值(每个值都是自述的),并设置 淘宝网 对象在 服务器XMLHTTP 以利用 争取 方法(以后使用,这个对象属性将允许使用 帖文 方法也是如此)。
- 网址 是前面设置的所有值的组合,是指 淘宝网 物体使用了它。
- 赋值后,库函数进行其余的计算。
现在你看,我们的函数已经可以使用了。
- 在 细胞C8 ,键入以下公式-
=Calculate_Distance(C4,C5,C6)
- 最后,只要按一下 进入 它将显示距离在 计量单位 .
阅读更多。 如何在Excel中计算两个地址之间的驾驶距离
用谷歌地图计算距离时的优点和缺点
- 你必须有一个有效的 API密钥 .
- 上面的代码将给出在 计量单位 .
- 用户定义的函数直接使用地名,不需要使用坐标。
- 请确保你使用了一个有效的地方。
用谷歌地图计算距离的优势和劣势
优势
- 对于大的几个地方,这是相当可行的,因为我们可以用 填充手柄 在《中国经济周刊》中,这是不可能的,因为在《中国经济周刊》中,这是不可能的。 谷歌地图
- 这是一个相当快的方法。
- 不需要使用坐标。
劣势
- 它不能用坐标来工作。
- 你不会得到地图或路线,只是你会得到距离。
- 在地名大致相符的情况下,它不会起作用。
总结
我希望上述程序能够很好地在Excel中计算出与谷歌地图的距离。 欢迎在评论区提出任何问题,并请给予我反馈。 访问 ǞǞǞ 以探索更多。