조기 바인딩 MSXML 개체를 선언하면 VBA에 오류가 발생함
xml 데이터를 엑셀로 Import하려고 합니다.그래서 코드의 첫 줄은
Dim XMLDOC As MSXML2.DOMDocument
그러면 "사용자 정의 유형이 정의되지 않음" 오류가 발생합니다.
VBE 내에서 [Tools]-> [ References ]으로 이동하여 [Microsoft XML, v6.0](또는 최신 버전)을 선택합니다.그러면 XML 개체 라이브러리에 액세스할 수 있습니다.
화려한 사진으로 업데이트!

나는 가지고 있었다DOMDocument필요한 것을 정의하다Microsoft XML, v3.0하지만 나는 있었다.Microsoft XML, v6.0아래 오류를 일으킨 참조에서 선택됨
"사용자 정의 유형이 정의되지 않았습니다."
해결 방법
해결책은 둘 중 하나를 바꾸는 것이었다.DOMDocument로.DOMDocument60(60은 버전 6.0을 사용) 또는Microsoft XML, v3.0에 언급하다.DomDocument.
Microsoft XML, v4.0 등 다른 버전을 사용하고 있는 사용자가 있다면,DOMDocument40사용해야 합니다.이것은, 의 끝에 있는 번호가,DOMDocument는, 사용하고 있는 라이브러리의 버전에 고유의 것입니다.
저는 다른 사람이 작성한 VBA Excel 매크로를 사용하고 있으며, 최근 Windows 7/Office 2010에서 Windows 10/Office 2016으로 업그레이드한 후 수정 작업을 맡았습니다.동일한 "사용자 정의 유형이 정의되지 않음" 컴파일 오류를 수신하기 시작했습니다.이전 설치에서도 MS XML v6.0이 사용되었지만 Windows 10 및/또는 Office 2016의 코드에서 이 버전을 구체적으로 가리켜야 합니다(문제의 원인이 된 업그레이드는 확인할 수 없었습니다).아래의 Find/Replace를 통해 문제를 해결할 수 있었습니다.
"DOMDocument" to "MSXML2.DOMDocument60"
"XMLHTTP" to "MSXML2.XMLHTTP60"
Microsoft Windows 10 & Office 2016을 사용하고 있습니다.
Microsoft XML 6.0 을 사용해도, 이 문제는 해결되지 않습니다.
Microsoft XML 3.0을 선택하면 컴파일 오류가 수정됨
세 번째와 여섯 번째 버전을 설치했고, 프로젝트에서는 네 번째 버전을 사용하고 있습니다.https://www.microsoft.com/en-us/download/details.aspx?id=15697에서 4번째 버전을 설치했는데, 이것으로 문제가 해결되었습니다.
언급URL : https://stackoverflow.com/questions/11245733/declaring-early-bound-msxml-object-throws-an-error-in-vba
'programing' 카테고리의 다른 글
| Bash에서의 에러 처리 (0) | 2023.04.09 |
|---|---|
| 현재 실행 중인 PowerShell 파일을 가져오려면 어떻게 해야 합니까? (0) | 2023.04.09 |
| Xcode 8 / Swift 3 : "유형 UIView Controller 표현?is unused" 경고 (0) | 2023.04.09 |
| WPF의 dataGridCells에 패딩 설정 (0) | 2023.04.09 |
| 특정 커밋을 변경하려면 어떻게 해야 합니까? (0) | 2023.04.09 |
