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

标签 vba

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

最佳答案

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

编辑:如果使用后期绑定(bind),您可以找到相应的 ProgID here .对于 DOMDocument60,您将使用 CreateObject("Msxml2.DOMDocument.6.0")

关于VBA:MSXML2.DOMDocument 在宏中更改为 MSXML2.DOMDocument40,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12839024/

相关文章:

vba - 使用 vba 在 Access 查询中传递参数值

excel - 将格式化的 Excel 范围粘贴到 Outlook 邮件中

vb.net - 将Visio宏导出到Visio COM加载项

excel - 如何循环选择数字格式?

vba - 从 Excel 发送多封电子邮件

VBA Excel : Concatenate a range of cells

excel - 将值从一个工作表复制到另一个

arrays - Solidworks VBA 跳过空数组

excel - 使用带有vba的excel中的表更新as400中的表

vba - dd/mm 自动更改为 mm/dd