VBA:MSXML2.DOMDocument在宏中更改为MSXML2.DOMDocument40

use*_*475 6 vba

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

bar*_*owc 19

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

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

如果无法使用v6.0库,那么开发人员应该依赖于"Microsoft XML,v3.0"库(msxml3.dll).

建议不要使用任何其他版本的XML库,因为不能保证给定系统上除v6.0和v3.0之外的任何版本都可用.在MSXML2.DOMDocument40您使用对应于"微软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")