LoginSignup
16
15

More than 5 years have passed since last update.

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

Posted at

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」の場合には起こりません。

16
15
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
15