受託開発にてXMLデータを修正する必要がありました。
WordではXMLデータそのものを文字列として取得し、そのデータをまたWordに書き込めます。
そのメモです。具体的な処理はありません。
このマクロでできること
Wordを開いたままXMLデータを抜き出し、データを書き換えてそのXMLデータを元に戻します。
マクロの解説
XMLデータに対する処理は、以下の2つの方法があります。
- 新規のWordファイルにstrXMLの文字列を貼り付けて処理
- メモリ上で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