2012-10-11 2 views
5

일부 이유로 인해 "MSXML2.DOMDocument40"이 "MSXML2.DOMDocument40"으로 변경되었습니다. 내 컴퓨터에서 작동하지만 동일한 코드가 다른 컴퓨터에서 작동하지 않습니다. 그 이유는 무엇일까요? 답변 해주세요.VBA : MSXML2.DOMDocument가 매크로의 MSXML2.DOMDocument40으로 변경되었습니다.

+2

"작동하지 않음"은 어떤 모양입니까? –

+0

@TimWilliams : 틀린 게시물에 대해 유감입니다. 실제로 잘 작동합니다. 아래 "Barrowc"에서 유용한 정보를 입력 했으므로 나는이 게시물을 삭제하지 않을 것입니다. 그리고이 웹 사이트의 게시물을 찾지 못했습니다. – user1495475

답변

14

MSXML2.DOMDocument은 항상 MSXML2.DOMDocument30의 동의어입니다. VBA (msxml3.dll)의 "Microsoft XML, v3.0"에서 참조하는 라이브러리에 해당합니다.

개발자는 응용 프로그램에서 "Microsoft XML, v6.0"라이브러리 (msxml6.dll)를 대상으로하는 것이 좋습니다 . 해당 라이브러리에 대한 참조를 설정 한 다음 적절한 유형 (예 : MSXML2.DOMDocument60.

v6.0 라이브러리를 사용할 수없는 경우 개발자는 대신 "Microsoft XML, v3.0"라이브러리 (msxml3.dll)를 사용해야합니다.

v6.0 및 v3.0 이외의 버전이 특정 시스템에서 사용 가능하다는 보장이 없으므로 다른 버전의 XML 라이브러리 사용은 권장되지 않습니다. 사용 된 MSXML2.DOMDocument40은 "Microsoft XML, v4.0"라이브러리 (msxml4.dll)에 해당하며이 코드가 실행되지 않는 컴퓨터에는 해당 라이브러리가 없습니다. 자세한 내용은

http://blogs.msdn.com/b/xmlteam/archive/2006/10/23/using-the-right-version-of-msxml-in-internet-explorer.aspx

편집을 참조하십시오 후기 바인딩을 사용하여 경우, 적절한 ProgID가 here을 찾을 수 있습니다. DOMDocument60의 경우 CreateObject("Msxml2.DOMDocument.6.0")

+0

: 코드에 실수가있었습니다. 실제로 작동합니다. "MSXML2.DOMDocument40"을 사용하지 않기를 권합니다. 다른 시스템에서도이 파일을 사용할 수 있습니다. 내 시스템에서 "msxml3.dll", msxml4.dll, msxml6.dll과 같은 모든 dll로 검색하십시오. C : \ Windows 폴더 및 다른 폴더에서도이 파일들을 찾을 수 있습니다. 제안하십시오. – user1495475

+0

Microsoft의 권장 사항과 함께 사용하고 버전 6.0 (msxml6.dll) 만 사용하십시오. 그게 가능하지 않은 경우 버전 3.0을 사용합니다. 어떠한 상황에서도 버전 4.0 또는 5.0을 사용하지 않을 것입니다. – barrowc

관련 문제