【发布时间】:2018-12-13 15:14:34
【问题描述】:
我有一个已经搜索纬度和经度并粘贴到我的工作表的代码,它运行良好。我正在寻找一种方法来获取该纬度和经度,加载谷歌地图,然后截取谷歌地图页面的屏幕截图或将地图嵌入 Excel。
在下面的代码中,我有一个代码已经为任何输入地址加载了谷歌地图,但我不知道如何截取地图的屏幕截图(最好没有页面侧面的输入信息)或嵌入将地图导入 Excel。底部的额外代码用于来自 USGS 网站的请求/响应,该网站提取某个位置的官方地震信息,但不应影响代码的顶部。
请注意,如果可能,我希望这只是地图的静态屏幕截图。如果可能的话,我不想在多个桌面上安装 Google 地球以便能够将交互式地图嵌入到工作表中。
Option Explicit
Public Sub Seismicgrab()
Dim browser As New ChromeDriver
Dim URL As String
Dim ws As Object
Dim xmlhttp As New MSXML2.XMLHTTP60
browser.Get "http://www.google.com/maps?q=" & Range("H13").Value
browser.Wait 5000
Cells(19, 13).Value = browser.URL
browser.Close
URL = Range("M24").Value
xmlhttp.Open "GET", URL, False
xmlhttp.Send
Worksheets("Title").Range("M25").Value = xmlhttp.responseText
End Sub
【问题讨论】:
-
我之前看过那个帖子。在那篇文章中,他们不是在桌面上安装 Google 地球并使用它来显示交互式地图吗?我的目标只是一个静态屏幕截图,我不必在某人的桌面上安装任何东西,因为多个人将在不同的桌面上使用它。
-
否,第一个答案使用网络浏览器控件来动态显示谷歌地图的最新地图。如果您有屏幕截图,它将是静态的并且永远不会更新,webbrower 控件需要互联网连接,但随后会显示最新的地图。不知道这是否满足您的需求。
标签: excel vba google-maps selenium web-scraping