문제

나는 몇 달 동안 모든 스프레드 시트 에이 반복되는 문제를 겪었습니다. 스프레드 시트는 정상적으로 작동하고 웹 사이트에서 가져온 XML 파일을 가져 오면 갑자기 가져 오기마다 충돌이 시작됩니다. 그것을 고치는 유일한 것은 모든 내용 (시트, 코드, 참조)을 가져 와서 신선한 통합 문서에 떨어 뜨리는 것입니다.

이것은 충돌하는 줄입니다.

ActiveWorkbook.XmlImport URL:=l_strXMLFileName, _
ImportMap:=Nothing, Destination:=Sheets("Imported Data").Range("$A$1")

이 문제가있는 사람이 있습니까? 그렇다면 충돌을 막는 더 좋은 방법이 있습니까 ??

도움이 되었습니까?

해결책

나는 이것이 저에게 그렇게 재앙이었고 몇 달 동안 나를 괴롭히기 때문에 답을 찾은 후이 질문을 게시했습니다. 바라건대이 게시물이 다른 사람이 내가 오랫동안했던 것처럼 머리카락을 꺼내지 못하게 할 것입니다.

수정은 매우 간단합니다. Excel이 XML 파일을 가져올 때마다 해당 스프레드 시트에 XMLMAP를 저장할 때마다 발생합니다. 따라서 동일한 스프레드 시트를 사용하고 계속 저장하면 시간이 지남에 따라 쌓입니다. 내가 찾은 가장 좋은 솔루션은이 XML 맵을 삭제하거나 동일한 맵을 재사용하는 것입니다 (후자는 여러 번 좋은 옵션이 아닙니다).

다음은 모든 것을 삭제하는 코드입니다 (질문에 포함 된 코드 전에이 작업을 실행합니다).

Dim XmlMap as XmlMap
    For Each XmlMap In ActiveWorkbook.XmlMaps
        XmlMap.Delete
    Next

다른 팁

입력 XML에 불법 / 에스코지가없는 문자가있을 가능성이 있습니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top