我正在尝试将 xml 数据导入到 excel 中。所以代码的第一行是
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 上的代码中特别指出这个版本(我无法确认是哪个升级导致了问题)。我能够通过对以下内容进行查找/替换来解决该问题:
"DOMDocument" to "MSXML2.DOMDocument60"
"XMLHTTP" to "MSXML2.XMLHTTP60"
我安装了第 3 版和第 6 版,项目使用的是第 4 版。我从https://www.microsoft.com/en-us/download/details.aspx?id=15697安装了第 4 个版本,这解决了问题。