VBA SaveAs テキストファイル保存 日付や通貨の書式が変更される問題の解決方法 - Excel

VBAでSaveAsメソッドでテキストファイル保存すると日付や通貨の書式が変更される問題の解決方法です。

SaveAs メソッドで保存された txt、csv、prn 形式のファイルを開くと、日付形式が "yyyy/m/d" から "m/d/yy" 型に変更されてしまいます。また、通貨記号円()を設定した数値データの場合は、通貨記号ドル($) に変更されてしまいます。

この問題は Excel 2000 から継続されていますが、Excel 2002 から SaveAs メソッドの引数に Local 引数が追加されましたので、この Local 引数に True を指定すると、コントロール パネルに設定されている形式で保存されます。

ここでは VBAでSaveAsメソッドでテキストファイル保存すると日付や通貨の書式が変更される問題の解決方法 を紹介します。


解決方法

問題となる SaveAs メソッドを利用した プロシージャです。


Sub SaveCSV()
  ActiveWorkbook.SaveAs FileName:="C:/test.csv", FileFormat:=xlCSV
End Sub

ここに Local 引数を追加します。


Sub SaveCSV()
  ActiveWorkbook.SaveAs FileName:="C:/test.csv", FileFormat:=xlCSV, Local:=True
End Sub

ふう、これで解決です^^

ただし、コントロールパネルで「地域と言語」の設定を変えていると "yyyy/m/d" 形式にならないのでご注意ください。

地域と言語の設定

参考サイト

おつかれさまでした。

この記事がお役に立ちましたら シェア をお願いいたします。