1. ホーム
  2. vba

[解決済み] VBA:マクロでMSXML2.DOMDocumentがMSXML2.DOMDocument40に変更された。

2022-02-18 18:30:27

質問事項

最近、ある理由で "MSXML2.DOMDocument" を "MSXML2.DOMDocument40" に変更したのですが、私のコンピュータではうまくいきましたが、別のコンピュータでは同じコードがうまくいきません。 何が理由かもしれませんか? 何か答えを提案してください。

解決方法は?

MSXML2.DOMDocument は常に MSXML2.DOMDocument30 . これは、VBAの "Microsoft XML, v3.0" で参照されるライブラリ(msxml3.dll)に相当します。

マイクロソフトは、開発者がアプリケーションで "Microsoft XML, v6.0" ライブラリ (msxml6.dll) をターゲットにすることを推奨します。これは、そのライブラリへの参照を設定し、適切な型を使用することによって行われます。 MSXML2.DOMDocument60 .

もし、v6.0ライブラリーを使用することができない場合、開発者は代わりに "Microsoft XML, v3.0" ライブラリー (msxml3.dll) を使用する必要があります。

v6.0 と v3.0 以外のバージョンが特定のシステムで利用できる保証はないため、他のバージョンの XML ライブラリを使用することは推奨されません。また MSXML2.DOMDocument40 このコードが実行されないコンピュータには、単にそのライブラリがない可能性が非常に高いです。

詳細はこちらをご覧ください。 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")