声明早期绑定的MSXML对象在VBA中引发错误
我正在尝试导入XML数据到Excel中。所以代码的第一行是
Dim XMLDOC As MSXML2.DOMDocument
这给出了一个错误“用户定义的types没有定义”
在VBE内部,进入工具 – >参考,然后selectMicrosoft XML,v6.0(或者任何你最新的东西,这会让你访问XML对象库。
更新花哨的图片!
我有DOMDocument
定义需要Microsoft XML, v3.0
但我有Microsoft XML, v6.0
select的引用导致下面的错误
“用户定义types未定义”。
解决scheme
解决方法是将DOMDocument
更改为DOMDocument60
(60使用版本6.0),或使用Microsoft XML, v3.0
引用与DomDocument
。
我使用其他人编写的VBA Excelmacros,最近从Windows 7 / Office 2010升级到Windows 10 / Office 2016后,我负责修复它。我开始接收相同的“用户定义types未定义”编译错误。 我以前的安装也有MS XML v6.0,但显然你必须在Windows 10和/或Office 2016的代码中特别指出这个版本(我无法确认哪个升级导致了这个问题)。 我能够通过执行以下查找/replace来解决问题:
"DOMDocument" to "MSXML2.DOMDocument60" "XMLHTTP" to "MSXML2.XMLHTTP60"