質問: csvファイルをexcelで読み込むと csvファイル中の項目 "01-03"などが、excelでは 勝手に 1月3日などに変換されてしまいます。 もちろん、拡張子を.txtに書き換えて、毎回フィールドを 文字列属性にして読み込んでやればいいのでしょうが、 なにぶん量が多いので、毎回毎回こんな操作をするのは めんどくさいのです。 csvファイルのままで、項目を勝手に変換させないで読み込む方法はありませんか??
回答: 実は、私も同じことでどうしようかと考え、vbaで 解決しました。 まず、csvファイルと同じ内容のxlsファイルを 作成し、セルの書式設定で自分の好きな形にします。 そして下記のマクロを実行すればよいはずです。 下記のtestというところを適当に書き換えてください。 sub test() ' このファイルを、csv形式で、このファイルと同じディレクトリに保存 dim currentname as string currentname = thisworkbook.name thisworkbook.sheets("test").saveas _ filename:=thisworkbook.path & "\licindb.csv", fileformat:=xlcsv application.displayalerts = false '確認せずに上書き保存 thisworkbook.saveas filename:=currentname, fileformat:=xlnormal application.displayalerts = true end sub