excelvba和googlemaps

excelvba和googlemaps,excel,google-maps-markers,vba,Excel,Google Maps Markers,Vba,我正在用Excel VBA开发一个应用程序,我需要一种方法让Google Maps自动捕获我的位置(无需输入我的地址)。这可以通过Excel VBA实现吗?它不是自动的。我只是运行了下面的vba片段,这是将web浏览器嵌入到工作表中的一部分,我发现它有点挑剔,但它最终还是可以工作的(根据代码所示,在运行之前需要两张工作表&如果不起作用,则必须删除web浏览器对象并重新运行)。关于如何将标记添加到此web浏览器对象上显示的地图,有很多示例(如下所示) 子添加WebbrowswerToWorkshe

我正在用Excel VBA开发一个应用程序,我需要一种方法让Google Maps自动捕获我的位置(无需输入我的地址)。这可以通过Excel VBA实现吗?

它不是自动的。我只是运行了下面的vba片段,这是将web浏览器嵌入到工作表中的一部分,我发现它有点挑剔,但它最终还是可以工作的(根据代码所示,在运行之前需要两张工作表&如果不起作用,则必须删除web浏览器对象并重新运行)。关于如何将标记添加到此web浏览器对象上显示的地图,有很多示例(如下所示)

子添加WebbrowswerToWorksheet()
昏暗的网络浏览器
尺寸wb、文件、x等长
表2.激活
设置myWebBrowser=Sheet1.OLEObjects.Add(类类型:=“Shell.Explorer.2”_
左=147,顶=60.75,宽=300,高=200)
设置wb=myWebBrowser.Object
与wb
.导航“关于:空白”
.Document.Open“text/html”
对于x=1到100
.Document.write“init
” 下一个x .Document.Close .Document.body.Scroll=“否” 以 表1.激活 wb.导航“http://maps.google.com/maps?q=49.2827,-123.1207" 端接头

从那里,您应该能够通过vba与它交互,以显示放置在适当网站上的标记。换句话说,要得到你想要的东西需要一点开发。

希望你仍然使用stackoverflow!在使用谷歌地图时,我发现了一个可以使用的快速小URL技巧。您可以使用URL设置方向,或只是自动跟踪您的位置

https://www.google.com/maps/dir/my+location/
这个链接将自动加载,生成一个新的链接(谷歌地图通过加载大量的Div块来工作,这样每个部分都有一个生成的URL)你的地址

如果您想使用该链接获取方向,请尝试以下操作

https://www.google.com/maps/dir/my+location/Secondary address goes here

您可以尝试以下方法:

 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
Sub GoogleMaps()
模糊的物体
将url设置为字符串
暗位置
url=”https://www.google.com/maps/dir/my+位置“
设置ie=CreateObject(“InternetExplorer.Application”)
与ie
.Visible=True
.浏览网址
.Top=5
.左=5
.高度=1300
.宽度=1900
而ie.readyState 4
温德
而ie.readyState 4
多芬特
温德
以
设置ie=无
以
端接头

记住,@MercPls在上面的答案中提到的是永久链接。您可以根据需要对其进行修改。如果您对不同的位置或其他内容感兴趣,您可以使用一些Excel单元格值解析此永久链接。

您可以尝试通过IE打开Google Maps,然后使用ID导航按钮:
ID=“widget mylocation”
(位于右下角)。抱歉,此答案与我的问题不匹配。我已经在用谷歌api打开谷歌地图了。我只需要一种方法来自动捕获我在IT中的当前位置。您可以根据编辑的答案相应地更改url字符串以显示您的纬度和经度。非常感谢您的尝试,但我相信你并没有完全理解我的问题:我只想让谷歌地图通过将这些信息插入excel工作表的工作表来通知我的立场。但是,我希望它能自动完成这项工作,也就是说,不需要先通知我的位置。另外注意:当我在电脑浏览器中打开谷歌地图时,我的位置上会自动出现一个标记。正是这个位置,我想通过vba excel捕获。如果excel可以捕获返回url,那么您就可以获得它。我不知道它能不能。
 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