15
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

MSXMLを使ったExcel VBAがWindows 8.1で動かない時の対処方法

MSXMLを使ったExcel VBAをWindows 8.1で動かしたときに、MSXML2.DOMDocument型の変数の定義のところで「コンパイルエラー: ユーザー定義型は定義されていません」というエラーが出て動かない場合があります。

このエラーは参照設定に「Microsoft XML. v6.0」を追加しているときに起こります。

どうやら互換用のDOMDocumentクラスなどがWindows 8.1のMSXMLから削除されてしまい、v6.0用のDOMDocument60しか残っていないからのようです。

Windows 7のMicrosoft XML. v6.0
windows7.png

Windows 8.1のMicrosoft XML. v6.0
windows81.png

したがって、DOMDocumentをDOMDocument60に書き直すことで動作するようになります。

修正前
Dim doc As MSXML2.DOMDocument
修正後
Dim doc As MSXML2.DOMDocument60

ちなみに「Microsoft XML. v3.0」の場合には起こりません。

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
15
Help us understand the problem. What are the problem?