- ベストアンサー
VBAでxmlファイルの置換をしたい
お世話になります。 下記の形で、xmlファイルを置換変換したいと思っております。 ・xmlファイルの置換 ・正規表現で置換 下記のURL等を参考に作成したのですが、変換すると 要素(=全角文字)の箇所が文字化けしてしまいます。 http://grade.upper.jp/wp/pg/257 どのようにすれば、文字化けすることなく、 xmlファイルの中身を正規表現で置換することができるのでしょうか? お手数ですが宜しくお願い致します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
XMLの規定文字コードはUTF-8なので、 VBAで文字列として扱うと字化けします。 方法としては二通りあり、一つは元の ファイルをSJISにしてencoding属性で Shift_JIS宣言します。もう一つは内部で UTF-8からSHIFT_JISに変換する方法です。 入力ファイルを加工してよいなら前者の方が 分かり易いでしょう。入力ファイルの加工が 難しい場合は後者になります。 尚、出力ファイルにencoding属性を指定しない 場合は、置換後にSHIFT_JISからUTF-8への 変換が必要です。 先ず、入力ファイルの1行目を見てください。 <?xml version="1.0"?> このようにencoding属性がなければUTF-8です。 SJISなら以下のように文字コードが指定されて います。 <?xml version="1.0" encoding="SHIFT_JIS"?> XMLの基本なので、よく注意してください。 どちらの方法をとるかで話が変わってきますので、 先ずは状況を補足して下さい。