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

use*_*889 29 excel scripting vba msxml

我试图将xml数据导入excel ..所以代码的第一行是

Dim XMLDOC As MSXML2.DOMDocument

这会给出一个错误"用户定义的类型未定义"

Sco*_*man 35

在VBE中,转到工具 - >引用,然后选择Microsoft XML,v6.0(或者您最新的任何内容.这将使您可以访问XML对象库.

更新了花式图片!

在此输入图像描述

  • 另请注意,如果您使用的是Windows 8,则可能需要引用Microsoft XML v3,因为v6不会公开DOMDocument类.请参阅主题http://social.technet.microsoft.com/Forums/en-US/f9180e5c-7c2f-44be-8415-d0d2b76e3f7f/microsoft-xml-v60-msxml6dll-and-vba (7认同)
  • 作为来自@ marcel-gosselin的旁注的旁注,如果你将你的变量"变暗"为"MSXML2.DOMDocument60",你仍然可以使用v6(注意最后的60) (7认同)
  • 很高兴找到@MarcelGosselin.也解决了我在Windows Server 2012上的问题. (3认同)

Jos*_*ury 28

我已经DOMDocument定义了哪些需要,Microsoft XML, v3.0但我Microsoft XML, v6.0在参考文献中选择了导致以下错误

"用户定义的类型未定义".

解决方案

解决方案是更改DOMDocumentDOMDocument60(60使用版本6.0)或使用Microsoft XML, v3.0引用DomDocument.

  • 我发现每当用户不得不重新启动 excel 时,如果在 Windows10 中使用`DOMDocument`,则选择的 MS XML,v3.0 将返回到 v6.0。更好的方法是使用`DOMDocument60`恕我直言。 (2认同)