2014-02-12 2 views
3

XML 파일을로드하고 구문 분석하기 위해 VBA 매크로를 작성했습니다. 이 정확한 코드는 잠시 동안 정상적으로 작동했지만 이제는 더 이상 작동하지 않습니다. Excel 2013 64 비트를 실행하는 두 대의 다른 컴퓨터에서 테스트했습니다. 실패한 코드는 다음과 같습니다.MSXML2.DOMDocument60이 충돌 함 Excel

Public Sub RunClashImport() 
'This subroutine will import an XML clash report, parse it, and write it to our workbook 
Dim iRow As Integer 

'Get XML file 
Dim xmlFile As MSXML2.DOMDocument60 
Set xmlFile = New MSXML2.DOMDocument60 

설정 명령을 주석 처리하면 코드가 계속됩니다. 그것은 오류를 throw하지 않습니다, 그것은 Excel에서 완전히 충돌합니다. 위의 코드는 매크로가 시작되는 곳이며, 앞에 실행되는 코드는 없습니다. 난 당신이 C:\Windows\SysWOW64의 내부에 msxml6.dll를 넣고 다음에이 명령을 실행하여, 해당 위치에서 등록해야 64 비트 Windows OS의 MSXML

enter image description here

+0

dll을 등록 취소/등록하려고 했습니까? REGSVR32 MSXML6.DLL/U REGSVR32 MSXML6.DLL –

+0

64 비트를 실행하지 않는 컴퓨터를 어떻게 테스트합니까? 오프 기회에 뭔가 이상한 64 비트와 나는 32 대의 기계를 확인했다. 64 비트가 지원/지원하지 않는 몇 가지 사항이 있습니다. – user1759942

+0

@ user1759942 오히려 64 비트 버전의 Office가 아닌 Windows가 문제의 원인입니다. –

답변

1

의 6.0에 대한 참조를 설정하여 명령 프롬프트 regsvr32.exe C:\Windows\SysWOW64\msxml6.dll.

관리자 권한으로 명령 프롬프트를 실행해야합니다.

+0

msxml6.dll은 이미 C : \ Windows \ SysWOW64에 있습니다. 다시 등록해도 문제가 해결되지 않았습니다. – Bishop

+1

@Bishop,하지만 지금은 Excel로 가서 Microsoft XML, v6에 대한 참조를 제거하고 Browse를 수행하고 SysWOW64에서 msxml6을 가리킨 다음 선택해야합니다. 그러면 C : \ Windows \ SysWOW64 \ msxml6.dll. –