2013-10-05 3 views
0

Excel에서 XML 맵에 문제가있는 경우 VBA는 자동으로 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'를 생성합니다 (하위 스크립트 출력 range of) 불행히도 오류 – Byate

0

나는이 오류가 있음을 발견했다 Excel에서 웹 페이지에 로그인 할 수없는 경우 내가 찾은 유일한 해결책은 의 Internet Explorer에있는 위치를 탐색하고 내 자격 증명을 입력 한 다음 Internet Explorer에 내 로그인을 기억하도록 지시하는 것입니다. 쿠키가 만료되거나 다시 로그인 할 때까지 잠시 동안 작동합니다.