• 締切済み

CSVデータの文字列置換

かなり、困っております・・・。 「c:\csv_data」に複数のcsvデータが入っており、csvに含まれている "00ABC"を"00000"に変換させたいです。 (フォルダ内の全てのcsvを変換させたいです) 一度作ってみたんですが、Excel-VBAでCSVファイルを開いて編集をかけると書式が失われてしまう為、だめでした・・・。 そこで ・Excel-VBAでの良い方法 ・BATファイルで拡張子csv⇒txtに開いてからの編集⇒csvへ といった2つの方法(どちらか)がであれば作業工程上、他の処理と同時に 自動化できることからこの2つの方法での文字列変換方法を知りたいです。

みんなの回答

  • zzz_sheep
  • ベストアンサー率21% (36/166)
回答No.2

私が同様の問題で処理した手順です。 まず、念の為に元ファイルからコピーを作成します。 コマンドプロンプトを起動して、以下のコマンドを使って CSVファイル全部の拡張子をTXTに置き換えてコピーします。 xcopy c:\csv_data\*.csv c:\copy\*.txt 次にフリーの文字列置換ソフトを使って、 C:\copy内の全てのtxtの文字列を置換します。 (私の場合は「みやぐれっぷ」を使いました。) (参考URLは「みやぐれっぷ」の作者様のHPです。) 最後に拡張子TXTをCSVに戻します。 xcopy c:\copy\*.txt c:\result\*.csv 作業が終わったら c:\copyはもう用済みなのでエクスプローラーで削除 c:\result内の全てのファイルをc:\csv_dataに上書きさせる c:\resultはもう用済みなのでエクスプローラーで削除 No1の人と比べるとめんどくさいw

参考URL:
http://www.bea.hi-ho.ne.jp/marbo/
  • driverII
  • ベストアンサー率27% (248/913)
回答No.1

参考 URL のプログラムを使って BAT ファイルで一括全置換できると思います。 for %%i IN *.csv DO chikan %%i 00ABC 00000 などで。 for 文について詳しくはコマンドプロンプトで確認してください(for /?)

参考URL:
http://www.vector.co.jp/soft/win95/util/se271454.html

関連するQ&A