• ベストアンサー

VBAでxmlファイルの置換をしたい

お世話になります。 下記の形で、xmlファイルを置換変換したいと思っております。 ・xmlファイルの置換 ・正規表現で置換 下記のURL等を参考に作成したのですが、変換すると 要素(=全角文字)の箇所が文字化けしてしまいます。 http://grade.upper.jp/wp/pg/257 どのようにすれば、文字化けすることなく、 xmlファイルの中身を正規表現で置換することができるのでしょうか? お手数ですが宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • nda23
  • ベストアンサー率54% (777/1415)
回答No.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の基本なので、よく注意してください。 どちらの方法をとるかで話が変わってきますので、 先ずは状況を補足して下さい。

関連するQ&A

専門家に質問してみよう