• ベストアンサー

VBAを使って1レコードごとにカッコでくくって書き出したい

ExcelのデータをCSVに書き出す際に、カンマの他に1レコードごとにカッコでくくりたいのです。    A   B   C 1  01234  20  あいうえお 2  01235  40  かきくけこ 3  01236  60  さしすせそ これをCSV変換したときに、最終的に ("01234",20,"あいうえお"), ("01235",40,"かきくけこ"), ("01236",60,"さしすせそ") となるようにしたくて、""の設定まではなんとかできたのですが、カッコのつけ方がどうしてもわからなくて困っています。 どうか、お知恵を拝借させてください。 よろしくお願いします。

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

  • ベストアンサー
  • ttyp03
  • ベストアンサー率28% (277/960)
回答No.2

#1です。 サイト見てきました。 このページでいいんですかね? http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_110_050.html このページでは2つの方法が載っていますね。 writeステートメントを使う方法とFSOを使う方法。 前者ですと少々面倒です。 というのもwriteステートメント自体が勝手に改行コードを挿入してしまうため、後から ) を書き込んでも次の行に書かれてしまうからです。 ですので、もしこちらのを使っているのでしたら補足していただければ解決策を考えてみます。 後者のでしたら、FP_EDIT_CSVRECメソッド内を修正すれば簡単です。 FP_EDIT_CSVREC = strREC  ↓ FP_EDIT_CSVREC = "(" & strREC & ")" こんな感じで修正してみてください。

monyomi
質問者

お礼

そうです。そのサイトです! 私がやろうとしていたのはたまたまFSOの方だったらしくて、上記の方法ですぐにカッコがつけられました。 そして、カッコ閉じるのあとにカンマを打つのも含めて >FP_EDIT_CSVREC = "(" & strREC & ")," としたら全て解決できました! ありがとうございます(TーT)助かりました!

その他の回答 (1)

  • ttyp03
  • ベストアンサー率28% (277/960)
回答No.1

まずは現状のプログラムを提示してください。 そうしないとどこをどう修正したらいいのか判断できませぬ。

monyomi
質問者

お礼

早速の反応、ありがとうございます! プログラムは井上治さんの作成されたURL:http://www.ne.jp/asahi/excel/inoue/ [Excelでお仕事!] というところから丸まるいただいてきたものです。 長いので注釈だけ削除して掲載いたします。 ・・・と思ったら長すぎて、書き込めません。 どうすればよいのでしょうか?

関連するQ&A