Map.DataBinding.LoadSettings不适用于HTTPS

时间:2016-05-05 12:23:53

标签: vba google-maps google-api runtime

我在Excel(2010)中有一个查找功能,可以映射到谷歌获取邮政编码数据。我有一些带有公式的单元格可以远程查找XML数据:我有一个名为ZipCode的单元格。以下代码根据新输入的邮政编码更新城市和州。

以下是代码:

 Private Sub Worksheet_Change(ByVal Target As Range)

   If Target.Row = [ZipCode].Row And Target.Column = [ZipCode].Column Then
     Dim Zip As String: Zip = [ZipCode].Value

     If Len(Zip) <> 5 Or Not IsNumeric(Zip) Then
        MsgBox "Please enter a valid zip code!", vbCritical, "Invalid Zip"
        Exit Sub
     End If

    Dim Map As XmlMap
    Set Map = ActiveWorkbook.XmlMaps(1)
    Map.DataBinding.LoadSettings "https://maps.googleapis.com/maps/api/geocode/xml/?address=" & Zip & "&sensor=false"
    Map.DataBinding.Refresh
  End If

 End Sub

例行程序失败:
Map.DataBinding.LoadSettings "https://maps.googleapis.com/maps/api/geocode/xml/?address=" & Zip & "&sensor=false"

出现以下运行时错误

  

运行时错误-214721376(80041020)系统找不到指定的对象。

我很难理解它失败的原因。任何帮助,将不胜感激。

2 个答案:

答案 0 :(得分:0)

网址不正确:

https://maps.googleapis.com/maps/api/geocode/xml/?address=

网址应为:

https://maps.googleapis.com/maps/api/geocode/xml?address=

(也不再需要传感器参数)

答案 1 :(得分:0)

我不是专家......但我知道你正在观看的视频,我收到了这个错误。您没有指定excel正确的xml源。根据视频,你的代码是完美的,但我的猜测是你搞砸了这里:

  

Set Map = ActiveWorkbook.XmlMaps(1)

这可能不是指正确的xmlmap。我建议删除源文件并重新加载xml地图。