• ベストアンサー

EXCELでCSV形式保存時、""をつけたい

EXCELで、"~","~","~" の形式になっているCSVファイルを読み込み、再び保存すると、~,~,~ のように、""を削除されてしまいます。 これを、保存時にも""がつくようにしたいのですが、何か方法はないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

VBAでやってみます。 WRITE #という便利なステートメントがありますので利用します。 シートのA1;C3に 1 aa 京都 3 dfg 神戸 45 大阪 #45 とあるとします。 標準モジュールに Sub test01() Dim a(5) Open "C:\Documents and Settings\XXXX\My Documents\test01X.csv" For Output As #1 d = Range("A65536").End(xlUp).Row For i = 1 To d For j = 1 To 3 a(j) = Cells(i, j) 'MsgBox a(j) Next j Write #1, a(1); a(2); a(3) Next i Close #1 End Sub を実行すると メモ帳で見ると 1,"aa","京都" 3,"dfg","神戸" 45,"大阪","#45" となりました。 昔のDOS-Basic時代はこれが標準だったと思いますが (1)””なしの、カンマだけで区切る(質問のエクセルCSV) (2)上記の形式(数値はダブルコーテーションをつけず、文字列だけにつける) (3)全フィールドにダブルコーテーションを着ける の3種類考えられるが(3)なら修正が必要ですが、どうでしょうか。上記コードのアウトプットファイルのPATHと列数は自分のケースに修正してください。 列数もEnd(xlToLeft)で取れますが略。

その他の回答 (1)

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.1

こんにちは。KenKen_SP です。 結論から言えば、VBAで自力書き出しすることになります。 Excel の CSV はセル内改行ある場合、そこだけ””と括られますが、全体を となると書き出しオプションがないので、 VBA でやるしかないと思います。

関連するQ&A