【Word VBA】WordのXMLデータを操作するWordマクロ

2017年11月9日

受託開発にてXMLデータを修正する必要がありました。

WordではXMLデータそのものを文字列として取得し、そのデータをまたWordに書き込めます。

そのメモです。具体的な処理はありません。

このマクロでできること

Wordを開いたままXMLデータを抜き出し、データを書き換えてそのXMLデータを元に戻します。

マクロの解説

XMLデータに対する処理は、以下の2つの方法があります。

  1. 新規のWordファイルにstrXMLの文字列を貼り付けて処理
  2. メモリ上でstrXMLの文字列を処理

1の場合は、strXMLに文字列を保存し直す際に、Wordファイル末尾のvbCRを除外する必要ありますのでご注意ください。

2の場合は、VBScriptの正規表現を使えば、おおよそのやりたい処理ができると思います。

VBScriptの正規表現例

マクロ


Sub XMLを操作する()

 Dim strXML As String
 
 '-------------------------------------------
 'XMLのデータをstrXML(String変数)に取得
 '-------------------------------------------
 strXML = ActiveDocument.Range.WordOpenXML

 '-------------------------------------------
 'strXMLに対して処理
 '-------------------------------------------

 
 '-------------------------------------------
 'strXML のデータを現在文書に挿入
 '-------------------------------------------
 ActiveDocument.Range.InsertXML strXML
 
End Sub

-コード
-