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 Windows 8.1のMicrosoft XML. v6.0 したがって、DOMDocumentをDOMDocument60に書き直すことで動作するようになります。