VBAからGDI+を使う資料集
inet上の達人の方々から御教示いただいたコードを少しアレンジさせてもらっています(切り貼りとも言います)。
  1. ホーム
  2. ribbon
  3. parsexml


スキーマファイルを用いてMS XMLでエラーチェックをしてみた

VBAで、MS XMLを用いてエラーチェック



XMLのお作法にあった位置に適当なタグを入れてみたがエラーにならなかった
ボタンのプロパティ?に watashi="bakayone"(古い!)などと入れてみたが同様
一応XMLの文法チェックはできるが、スキーマファイルを指定した御利益が感じられない。

'MSXML 4に参照設定
'http://www.atmarkit.co.jp/fxml/tecs/022dom/22.html

Sub parseRibonXML()
  Dim objXml As MSXML2.DOMDocument40
  Dim objScm As MSXML2.XMLSchemaCache40
  Dim objErr As MSXML2.IXMLDOMParseError
  Dim myNameSpace As String
  Dim xsdFilePath As String
  Dim targetXMLPath As String
  
  Set objXml = New MSXML2.DOMDocument40
  Set objScm = New MSXML2.XMLSchemaCache40
  objXml.async = False
  '適当な名前空間を入れて実行し、表示される実行時エラーのメッセージから読み取った
  myNameSpace = "http://schemas.microsoft.com/office/2009/07/customui"
  'http://www.microsoft.com/download/en/confirmation.aspx?id=1574
  '実行ファイルからインストールすると下記に置かれた
  xsdFilePath = "C:\Office 2010 Developer Resources\Schemas\customui14.xsd"
  targetXMLPath = "C:\Documents and Settings\hoge\デスクトップ\customUI.xml"
  objScm.Add myNameSpace, xsdFilePath
  Set objXml.Schemas = objScm
  objXml.Load (targetXMLPath)
  Set objErr = objXml.parseError
  If Not objErr.ErrorCode = 0 Then
    With objErr
      MsgBox "XML文書はスキーマに従っていません"
      Debug.Print .reason & " in Line " & .Line & " - " & .linepos & " : " & .srcText
    End With
  Else
    MsgBox "XML文書はスキーマに従っています"
  End If
End Sub