こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

CSVデータの文字列置換

かなり、困っております・・・。

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

投稿日時 - 2007-03-08 08:06:55

QNo.2813021

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.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/

投稿日時 - 2007-03-08 09:21:43

ANo.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

投稿日時 - 2007-03-08 08:31:19

あなたにオススメの質問