我在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)系统找不到指定的对象。
我没有太多的运气去理解它为什么会失败。如有任何帮助,我们将不胜感激。
URL不正确:
https://maps.googleapis.com/maps/api/geocode/xml/?address=
URL应该是:
https://maps.googleapis.com/maps/api/geocode/xml?address=
(也不再需要传感器参数)
我不是专家。。。但我知道你正在看的视频,我犯了这个错误。您没有指定要超越正确的xml源。根据视频,你的代码是完美的,但我猜你在这里搞砸了:
Set Map = ActiveWorkbook.XmlMaps(1)
这可能不是指正确的xmlmap。我建议删除源文件,然后重新加载xml映射。