人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Excel VBA のCSV書き出し、読み込み処理について分からないことがあります。Excelのセルの文字列中に改行コード(やその他特殊記号)があると、CSV書き出し後にそれをCSV読み込みしたときに元と異なってしまうようです。そこでExcel VBAの処理を書いて対処しようと思っているのですが、うまいコーディング例がありましたら参考URLでも直接ソースを提示していただいても構いません。書き込み、読み出しを複数回しても結果が変わらないようにしたいのです。改行コードの対処方法重視でお願いします。

●質問者: eimu
●カテゴリ:コンピュータ
✍キーワード:CSV Excel URL VBA うまい
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● llusall
●70ポイント

そのような場合は、

ダブルクォーテーション「”」(半角)で囲って書き出します。


書き出し例

-------------------------------------

1111,2222,"AAAA[改行コード]BBBB"

2222,3333,"BBBB[改行コード]CCCC"

-------------------------------------

※[改行コード]は改行コードの意です。

エディタで開くと・・・

-------------------------------------

1111,2222,"AAAA

BBBB"

2222,3333,"BBBB

CCCC"

-------------------------------------

※こんな感じになっています。


◎質問者からの返答

早速のご回答ありがとうございます。この場合はセル文字列中にダブルクォーテーションがある場合でもうまくいくのでしょうか?どこまで考慮すればというのはあるのですが、多分ここまでは考慮しなければいけないかもしれません。


2 ● llusall
●60ポイント

ダブルクォーテーション「"」をVBAでCSVに出力する場合は、

まず、ダブルクォーテーション×2「""」に置換します。


それから、ダブルクォーテーションで囲います。


1111aaa"bbb
2222ccc",カンマ入

は、以下のように出力します。

1111,"aaa""bbb"

2222,"ccc"",カンマ入"


◎質問者からの返答

回答ありがとうございます。つまり、上記2つの処理を組み合わせればいいというわけですね。。。あとは具体的なソースとかURLがあればいいのですが。。。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ