初めて自分の家と他人の家が違う、と意識した時

今使用しているExcelのフォーマットでは、出力用のシートにボタンを設置して、
クリックするとデスクトップにCSV保存するようにしていますが、
納品先から「ダブルクォーテーションで囲まれたCSV」で納品するよう頼まれました。

以前やった事があるのは、
秀丸等のテキストエディタでCSVファイルを開き、
・「,」を「","」に置換
・正規表現で「改行」を「改行+"」
に置換した後、先頭に「"」を入れる手順で、
各項目がダブルクォーテーションで囲まれたCSVファイルを作成していました。

しかし今回のデータの中にはフリーテキストの項目があり「,(カンマ)」が入っています。
するとそれも置換されてしまうのでアウトです。

ExcelからCSV保存する際、各項目をダブルクォーテーションで囲んでCSVで書き出すにはどうしたら良いでしょうか?

A 回答 (2件)

このブログの方法が参考になるのでは?



https://blog.e2info.co.jp/2021/02/16/%E3%83%86%E …
    • good
    • 0
この回答へのお礼

ありがとうございます。
リンク先の方法も試しましたがテキストエディタでの処理が必要なのが手間なので(実際使うのは自分じゃなくて配布先なので)、
ボタン一つで完了する方法を探りたい思います。

お礼日時:2024/07/11 15:15

こんばんは。



>ボタンを設置して、クリックするとデスクトップに
>CSV保存するようにしていますが
具体的にどのようにしているのかわかりませんが、CSV作成のマクロを登録してあるってことでしょうか?

もしそうであるなら、そのマクロの処理方法を変えればよさそうに思います。
対象範囲の各セルについて、
 ・「"」は「""」に置き換え
 ・先頭、末尾に「"」を追加
するようにして、シークエンシャルファイルに順次出力してゆけば良いでしょう。

検索すれば、例はいろいろ見つかると思います。
以下一例です。
https://qiita.com/yuk007/items/c44df26ec516f804b …
    • good
    • 0
この回答へのお礼

ありがとうございます!
リンク先はゆっくり明日拝見させて頂きます。

今の仕様はCSVではなくxlsxで書き出すようになってました。
明日にならないとソースを確認出来ないのですが、
書き出し拡張子がxlsxに指定されていましたがそこを変えるだけじゃないので、
簡単にCSVに変更できるものなのかが疑問です。

お礼日時:2024/07/09 23:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A