ここでは、VBA で xml ファイルの妥当性を検証するサンプルスクリプトを掲載しています。なお、ここで掲載しているサンプルスクリプトの動作検証は Windows10 + Excel2013 で行っています。
スポンサーリンク
xml ファイルの妥当性の検証
xml ファイルの妥当性を検証するサンプルスクリプトです。詳細はサンプル内のコメントを参照ください。
' xml ファイルの妥当性を検証する Function isValidXML(ByVal xmlFilePath As String) As Boolean Dim XMLDocument As MSXML2.DOMDocument60 'MSXMLオブジェクトを生成し、xmlファイルをロード Set XMLDocument = New MSXML2.DOMDocument60 XMLDocument.async = False ' 動機的にXMLファイルを読み込む XMLDocument.Load (xmlFilePath) If (XMLDocument.parseError.ErrorCode <> 0) Then 'ロード失敗 MsgBox XMLDocument.parseError.reason 'エラー内容を出力 isValidXML = false; ' 妥当性検証NG Exit Function End If isValidXML = true; ' 検証OK End Function
例えば、適当にXMLファイルの要素の括弧(<>)を適当に削除して、上記のスクリプトを実行すると以下のようなエラーメッセージが出力されます。今回出力されたメッセージは、『 無効な文字が含まれた名前です 』 でしたが、xml ファイルの壊れ方次第でメッセージは変化します。
参照設定の追加
上記のスクリプトを実行するには、以下のように Microsoft XML, v6.0 の参照設定を追加する必要があります。