Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


865 / 13644 ツリー ←次へ | 前へ→

【77862】CSVの書き出しについて ネオン 16/1/15(金) 0:05 質問[未読]
【77863】Re:CSVの書き出しについて γ 16/1/15(金) 4:06 発言[未読]
【77867】Re:CSVの書き出しについて ネオン 16/1/15(金) 14:14 お礼[未読]

【77862】CSVの書き出しについて
質問  ネオン  - 16/1/15(金) 0:05 -

引用なし
パスワード
   現在シート内のデータをCSVとして書き出すマクロを作成しております。

条件として、
・各項目は「""」で囲まず、カンマ区切り
・出力したいデータには<tr bgcolor="#000000">のようなHTMLが含まれているが、
 これは<tr bgcolor=""#000000"">としたい
といったものです。

Open Path For Output As #fileNo
  For row = 1 To lastrow
    For col = 1 To lastcol
      Print #fileNo, Cells(row, col) & ",";
    Next
    Print #fileNo, Cells(row, col)
  Next
Close #fileNo

上記の様にPrintを使って出力したのですが、
そうするとHTMLタグのダブルクォーテーションの部分も<tr bgcolor="#000000">のまま出力されてしまいます。

かといってWriteで出力すると、<tr bgcolor=""#000000"">にはなりますが、項目が「""」で囲まれてしまいます。

色々と調べているのですが、どうしても解決できずにおります。
どのようにすればよいか助言いただけますと幸いです。
よろしくお願いします。

【77863】Re:CSVの書き出しについて
発言  γ  - 16/1/15(金) 4:06 -

引用なし
パスワード
   今のコードでReplace関数を使って、"を""に置換すればいいんじゃないでしょうか。
ダブルクォーテーションの中のそれは、
二つで一つの意味となるので、
Replace(Cells(Row, col).Value, """", """""")
のような書き方になりますね。

タグ内と地の文章ではダブルクォーテーションの意味を区別するということなら
また別の工夫が必要になるけれど。

【77867】Re:CSVの書き出しについて
お礼  ネオン  - 16/1/15(金) 14:14 -

引用なし
パスワード
   ▼γ さん:
ご返信ありがとうございます。

なるほど、確かに単純に、事前に"を""に置換しておけば解決する話ですね…。
煮詰まって難しく考えすぎしまい、初歩的な点に気付けませんでした。お恥ずかしい限りです。

アドバイスいただきありがとうございました!

865 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free