在Excel VBA中的XML映射遇到一些问题,一旦将值输入特定单元格,它就会自动查询API并检索其数据。映射正常工作,刷新XML映射并将查询数据检索到另一个所需的单元格,但尽管取得了成功,它仍然会在VBA中强制运行时错误。
给出的运行时错误是'-2147217376(80041020)'
'指定资源的下载失败。'
这是我在VBA中的代码。我已经改变了网站的例子,但查询的格式是一样的。
If Target.Column = 6 And (Target.Row >= 1 And Target.Row <= 10000) Then
Dim CellVariable As String: CellVariable = Target.Value
End If
Dim Map As XmlMap
Set Map = ActiveWorkbook.XmlMaps(1)
Map.DataBinding.LoadSettings "http://example.website.com/api/question?name=" & CellVariable & "&api_key=xxxxxxxxx&format=xml"
On Error Resume Next
Map.DataBinding.Refresh
On Error Resume Next
有没有办法以某种方式覆盖此错误? On Error Resume Next
似乎没有做到这一点。任何建议都表示赞赏!
答案 0 :(得分:0)
尝试更改
Map.DataBinding.LoadSettings "http://example.website.com/api/question?name=" & CellVariable & "&api_key=xxxxxxxxx&format=xml"
到此(添加括号):
Map.DataBinding.LoadSettings("http://example.website.com/api/question?name=" & CellVariable & "&api_key=xxxxxxxxx&format=xml")
或者这个(不同的方法):
urlstr = "http://example.website.com/api/question?name=" & CellVariable & "&api_key=xxxxxxxxx&format=xml"
ThisWorkbook.XmlMaps(Map).Import urlStr
答案 1 :(得分:0)
我发现当Excel无法登录网页时出现此错误。我找到的唯一解决方案是浏览到 Internet Explorer 中的位置,输入我的凭据,并告诉Internet Explorer记住我的登录信息。 这将持续一段时间,直到cookie过期或其他什么,然后我再次登录。