- ベストアンサー
エクセルのCSV保存
CSVの "あああ","いいい","ううう","えええ" というデータをExcelで呼び出してCSVで再保存をかけると あああ,いいい,ううう,えええ という様にダブルフォーテーションが消えてしまうのですが、元の形式で再保存するためにはどうしたらよいのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
普通にやったらできません。 でも、項目にカンマが含まれていると「"」で囲ってくれますので、この特性を利用できると思います。 保存する前に、新しいワークシート(Sheet1)を作成して、Sheet1のA1に、「=元のシート名!A1 & "@,@"」と式をいれ、縦横にコピーします。 保存するときはこのSheet1を選んでから「名前を付けて保存」で、元のファイル名とは別名(例:変更後.CSV)でCSV形式で保存します。 変更後.CSVをテキストエディタで開き、「@,@」を空欄に置換します。 ・・・と、こんな方法しか思い浮かびませんが。 頑張ってくださいヽ(^。^)ノ
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
VBAで 標準モジュールに貼りつけて実行。 ファイル」名は変える。 Sub test01() Open "c:\My documents\aaa18.csv" For Input As #1 Open "c:\My documents\aaa19.csv" For Output As #2 While Not EOF(1) Line Input #1, a b = Split(a, ",") s = "" For i = 0 To UBound(b) If IsNumeric(b(i)) Then s = s & b(i) & "," Else s = s & """" & b(i) & """" & "," End If Next i s = Left(s, Len(s) - 1) Print #2, s Wend Close #1 Close #2 End Sub 原データ 12,ass,dfg,34 23,wer,s,346 結果 12,"ass","dfg",34 23,"wer","s",346 結構面倒だと言うのが感想。
お礼
ありがとうございます。 >結構面倒だと言うのが感想。 あはは・・・そうですねコーディングは理解できるんですけど今VBAモードじゃなくて頭がPerlモードなんで(PerlでCSVファイルの読み書きのプログラミング中DataをExcelでいじろうと思ったら、この問題にぶちあったたもので質問しました) 又なんぞの時に役に立ちそうなコードです。 とりあえずワードパッドで開きます。
お礼
Excelのデフォルトの機能にはありませんか 変更があったらワードパッドで開いてやるようにします。 ありがとうございました。