7

由于某种原因,我最近将“MSXML2.DOMDocument”更改为“MSXML2.DOMDocument40”。它适用于我的计算机。但相同的代码在另一台计算机中不起作用。可能是什么原因?请提出一些答案。

4

1 回答 1

26

MSXML2.DOMDocument始终是 的同义词MSXML2.DOMDocument30。这对应于 VBA (msxml3.dll) 中“Microsoft XML, v3.0”引用的库

Microsoft 建议开发人员应在其应用程序中以“Microsoft XML, v6.0”库 (msxml6.dll) 为目标。这将通过设置对该库的引用然后使用适当的类型来完成 - 例如MSXML2.DOMDocument60.

如果无法使用 v6.0 库,则开发人员应转而使用“Microsoft XML, v3.0”库 (msxml3.dll)。

不建议使用任何其他版本的 XML 库,因为无法保证 v6.0 和 v3.0 以外的任何版本都可以在给定系统上使用。您使用的MSXML2.DOMDocument40对应于“Microsoft XML,v4.0”库(msxml4.dll),并且很可能没有运行此代码的计算机根本没有该库可用。

有关详细信息,请参阅http://blogs.msdn.com/b/xmlteam/archive/2006/10/23/using-the-right-version-of-msxml-in-internet-explorer.aspx

编辑:如果使用后期绑定,您可以在此处找到适当的 ProgID 。对于 DOMDocument60,您可以使用CreateObject("Msxml2.DOMDocument.6.0")

于 2012-10-11T21:31:13.437 回答