我正在用Excel VBA开发一个应用程序,我需要一种让Google地图自动捕获我的位置的方法(而不必输入我的地址)。通过Excel VBA可以做到这一点吗?
发布于 2017-06-02 22:46:26
希望你还在使用stackoverflow!在使用google地图时,我发现了一个可以使用的小URL小技巧。您可以使用URL设置方向或自动跟踪您的位置。
https://www.google.com/maps/dir/my+location/这个链接将自动加载后,生成一个新的链接(谷歌地图工程通过加载大量的Div区块,因此每个部分都有一个生成的URL)你的地址。
如果您想使用指向的链接,请尝试以下操作
https://www.google.com/maps/dir/my+location/Secondary address goes here发布于 2017-01-24 15:17:08
它不是自动的。我刚刚运行了下面这段vba,它是这个post的一部分,用于将web浏览器嵌入到工作表中,我发现它有点麻烦,但它最终还是可以工作的(根据代码中所显示的,在运行之前您需要2个工作表&如果它不能工作,您将不得不删除web浏览器对象并重新运行)。关于如何向web浏览器对象(这里是one)上显示的地图添加标记,有大量的示例可用。
Sub AddWebBroswerToWorksheet()
Dim myWebBrowser
Dim wb, doc, x As Long
Sheet2.Activate
Set myWebBrowser = Sheet1.OLEObjects.Add(ClassType:="Shell.Explorer.2", _
Left:=147, Top:=60.75, Width:=300, Height:=200)
Set wb = myWebBrowser.Object
With wb
.Navigate "about:blank"
.Document.Open "text/html"
For x = 1 To 100
.Document.write "init<br>"
Next x
.Document.Close
.Document.body.Scroll = "no"
End With
Sheet1.Activate
wb.Navigate "http://maps.google.com/maps?q=49.2827,-123.1207"
End Sub在那里,您应该能够通过vba与其交互,以显示放置在适当网站上的标记。换句话说,它需要一点开发才能得到你想要的东西。
发布于 2020-04-28 00:15:48
您可以尝试如下所示:
Sub GoogleMaps()
Dim ie As Object
Dim url As String
Dim Location
url = "https://www.google.com/maps/dir/my+location"
Set ie = CreateObject("InternetExplorer.Application")
With ie
.Visible = True
.navigate url
.Top = 5
.Left = 5
.Height = 1300
.Width = 1900
While ie.readyState <> 4
Wend
While ie.readyState <> 4
DoEvents
Wend
End With
Set ie = Nothing
End with
End Sub请记住,@MercPls在上面的答案中提到的是一个永久链接。您可以根据您肯定需要的内容对其进行修改。如果您对不同的位置或内容感兴趣,您可以使用一些Excel单元格值来解析此固定链接。
https://stackoverflow.com/questions/41817393
复制相似问题