2013-10-05 76 views
0

在Excel VBA中的XML映射中遇到一些問題,該問題會在值輸入到特定單元格後自動查詢API並檢索其數據。該映射正常工作,刷新XML映射並將查詢數據檢索到另一個所需的單元中,但儘管取得了這種成功,但它仍然強制VBA中的運行時錯誤。使用Excel VBA的奇怪XML映射運行時錯誤

給出的運行時錯誤「-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

什麼行會拋出錯誤? Map.DataBinding.Refresh? –

+0

對不起,調試錯誤時沒有它的'Map.DataBinding.LoadSettings'行 – Byate

回答

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 
+0

感謝您的建議 - 第一個仍然生成相同的運行時錯誤,第二個生成「運行時錯誤9」(子腳本輸出範圍)錯誤,但不幸的是 – Byate

0

我發現,我得到這個錯誤當Excel無法登錄到網頁時。我找到的唯一解決方案是瀏覽到Internet Explorer中的位置,輸入我的憑據並告訴Internet Explorer記住我的登錄信息。 這將工作一段時間,直到cookies過期或什麼,我去並再次登錄。