声明早期绑定的MSXML对象在VBA中引发错误

我正在尝试导入XML数据到Excel中。所以代码的第一行是

Dim XMLDOC As MSXML2.DOMDocument

这给出了一个错误“用户定义的types没有定义”

在VBE内部,进入工具 – >参考,然后selectMicrosoft XML,v6.0(或者任何你最新的东西,这会让你访问XML对象库。

更新花哨的图片!

在这里输入图像说明

我有DOMDocument定义需要Microsoft XML, v3.0但我有Microsoft XML, v6.0select的引用导致下面的错误

“用户定义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"