---------------------------
これがデータセル内に改行→
二行目です
---------------------------
↓このデータをテキストに貼り付けると
---------------------------
”これがデータセル内に改行→
二行目です”
---------------------------
となるのです。
セルの中身を選択(F2キー)して文字自身をコピーすればもちろんうまくいくのですが、それでは面倒です。
セルを選択しただけでコピーして、ダブルクオーテーションがつかない方法はありませんでしょうか。
http://pc21.nikkeibp.co.jp/tech/excel36/31/
$BF|7P(BPC21 / $B%;%kFb$N2~9T$r$J$/$9(B
エクセルからテキストファイルにコピーということなら、セル内の改行は不要ですよね?
単に改行コードを消してからコピーすればいいのでしたら、CLEAN関数を使ったらいかがでしょうか。
http://www.relief.jp/itnote/archives/000248.php
Yahoo! JAPAN
http://plaza.rakuten.co.jp/pasodairy/diary/200505210000/
Excel セル内の改行をいっぺんに削除! - パソってますか? - 楽天ブログ(Blog)
それから改行コードを検索・置換するにはCtrlキー+Jキーで行う方法もあります。
再回答失礼します。
貼り付ける時に、メモ帳を使用しているかと思います。
試してみましたが、確かにメモ帳ですとダブルクオーテーションがついてしまいましたが、ワードパットに貼り付けてみたら、書式情報が保存される為、改行は維持されます。
で、ファイルを.txtで保存する。書式情報が失われますとメッセージが出ますが、大丈夫でした。
もし参考にならなければポイントは結構です。
似たような質問はありましたが、あまり参考にはならないようです・・・。
秀丸をつかっているのですが、なるほど、ワードパッドですか・・・。
微妙ですね・・・。重いですよね・・・。
引用していただいたはてなの方も同じようなナヤミですね。
私は、CSVの仕様だとはわかっていますが、より詳しい仕様がわかればなんとかならないものかと思ったもので・・・。ありがとうございました。
http://www.hatena.ne.jp/1137168136
人力検索はてな - エクセルで、セル内に改行がある場合、そのセルを選択してコピーし、txtファイルに貼り付けるとデータの前後にダブルクオーテーションがついてしまいます。 --------------..
貼り付けた後に、「”」(ダブルクオテーション)を「」(空白)に
置換するのはダメですか?
正確に置換するなら「”¥t”」(ダブルクオテーション+タブ+ダブル
クオテーション)を「¥t」(タブ)に置換すればいいと思います。
最初の列の扱いなども、適宜工夫すればなんとかできそうです。
よいのですが、それも数が増えればかなり面倒な作業なので・・・。
事情によりまとめて置換はできないのです・・・。
http://hide.maruo.co.jp/software/hidemaru.html
�G�܂邨�̃z�[���y�[�W�|�G�ۃG�f�B�^
http://www.shuiren.org/chuden/teach/hidemaru/04.htm
秀丸エディタを使いこなす ―文字列を置換―
私も似たような作業をしますが、その際はテキストエディタに秀丸を使います。
貼付けた後に置換で
検索:”(ダブルクオーテーション)
置換: ←何も入力しない
で全置換してしまえば、貼付けたテキストから全てダブルクオーテーションがなくなります。
正規表現を使えば、行頭のみ、行末のみと指定も出来ます。
参考までに。
おっしゃるとおりなのですが、事情によりまとめて置換できないので、CSVの仕様の裏をついて、エクセル上でうまくダブルクオーテーションがつかないようにしたいのです・・・。
�G�܂邨�̃z�[���y�[�W
EXCEL上でなんとかしたい、という要望にはこたえられないかもしれませんが、以下のようなマクロを作って登録しておき、EXCELからのデータを貼り付ける際に実行すれば良いのではないでしょうか。
(マクロも登録しておけばCtrl+番号で実行できますので操作はそれほど大変じゃないと思います。)
// クリップボード操作開始
beginclipboardread;
// 配列$a[]にクリップボードの内容を一行ずつ取り込み
#i=0;
$a[#i]=getclipboard;
while($a[#i]!=””){
#i=#i+1;
$a[#i]=getclipboard;
}
// 配列$a[]の内容を一行ずつ貼り付け、ダブルクォートを削除
#j=0;
while($a[#j]!=””){
insert $a[#j];
up 1;
selectline;
replaceall ”¥””, ”” , inselect;
down 1;
#j=#j+1;
}
上のままでは元ソースのEXCELにダブルクォートが含まれる場合、それも削除してしまいます。それが困る場合はダブルクォート2つ連続しているものを一時的に他では絶対に使わない文字列(たとえばhogehoge)に置き換えて、ダブルクォートを削除後、hogehogeをダブルクォートに再度置換することで対応可能っぽいです。がダサいですね、処理が。もっとうまいやり方がありそうな予感。
参考になれば幸いです。
なるほど、ここまでしていただいてありがとうございます。
この方針で考えてみるしかなさそうですね。
http://www.vector.co.jp/soft/win95/util/se085933.html
ClpSs(Windows95/98/Me / ユーティリティ)
シェアウェア「ClpSs」を使用した方法です。
このソフトは常駐させる必要があります。
このソフトは、クリップボード内のテキストを即時に置換するものです。
当該事象の場合、「”」→「」(何も無し)へ置換することでダブルコーテーションを削除することが出来ます。
改行コードも残ったままでした。
趣旨が違う内容だったらすみません。
なるほど。こんなソフトもあるんですね。
他のことにも使えそうですね。
テキストにコピーした後も、文章に改行コードは必要なのです。
よろしくお願いいたします。