[230] セル内の改行削除について
初心者 [2011/10/21 15:32:31]
お手数をお掛けいたしますが、宜しくお願いします。
以前投稿されていた[68] セル内の改行を置換(削除)するには
を拝見したのですが、
同じように実行してみても、セル内の改行が削除できません。
その他方法をお教えいただけないでしょうか。
どうぞ宜しくお願いします。
Re: [230] セル内の改行削除について
あすかぜ [2011/10/21 20:12:10]
ご指摘ありがとうございます。
そのスレッドに載せたマクロは、Cassava 1.5 の仕様変更で動作しなくなっていますね。
マクロにはコメントを追加しておきました。
Cassava 1.5 以降では、下記の手順でセル内改行を削除できます。
1) [検索]-[検索・置換] メニューをクリックし、検索・置換ダイアログを開く
2) 「正規表現検索」にチェックする
3) 「検索する文字列」に「\n」と入力する
4) 「置換後の文字列」は空欄のままとしておく
5) 「すべて置換」ボタンをクリックする
よろしくお願いします。
Re: [230] セル内の改行削除について
初心者 [2011/10/25 11:10:21]
ご連絡ありがとうございました。
確認させていただきましあ。
また、再度お伺いしたいのですが、
セル内に改行を入れたテキスト(改行を含んだ2行以上のテキストです)を検索し置換をしたい場合、
検索ボックスにそれを貼りつけても、改行前の1行目しか貼りつけられていません。
何度やっても同じ症状だったのですが、
こちらはどのように検索すれば宜しいでしょうか。
お手数をお掛けいたしますが、どうぞ宜しくお願いいたします。
Re: [230] セル内の改行削除について
あすかぜ [2011/10/25 23:33:19]
改行を含むテキストの検索も同様に、「正規表現検索」にチェックして改行を「\n」と表現することで実現できます。
コピー&ペーストで「検索する文字列」に貼り付けることはできないので、メモ帳等で
検索したい1行目の文字列\n2行目の文字列\n3行目の文字列
というような検索キーワードを作って使ってください。
なお、「正規表現検索」にチェックしていると次の記号が特別な意味を持つので、これらの文字を含む場合は「\.」「\[」「\]」のように記号の前に「\」をつけてエスケープしてください。
. [ ] - ^ * ? + $ \
よろしくお願いします。
Re: [230] セル内の改行削除について
初心者 [2011/10/27 10:08:58]
ご連絡ありがとうございます。
確認させていただきました。
ありがとうございます。
Re: [230] セル内の改行削除について
初心者 [2011/11/01 10:49:26]
お世話になっております。
何度も申し訳ありません。
検索する文字列に、改行にした文字列(100文字以上です)を入れて置換えをする前に検索したところ、その文字列全てがヒットされません。(途中までしか認識していないようです)
申し訳ありませんが、再度お伺いできますでしょうか。
お手数をお掛けいたしますが
どうぞ宜しくお願いいたします。
Re: [230] セル内の改行削除について
あすかぜ [2011/11/02 00:30:01]
ご指摘ありがとうございます。
長い文字列を正規表現検索で検索すると不具合が発生するようです。
バグとして別スレッドを立てておきました。
http://www.asukaze.net/soft/cassava/bbs/index.cgi?t=232
さしあたりは、マクロの replace 関数を使って回避してください。
マクロ内では
replace("対象の文字列", "検索文字列", "置換文字列");
で置換後の文字列が得られます。
ファイル内の全セルに対して長い文字列を置換する例は次のようになります。
for(y=1; y<=Bottom; y++){
for(x=1; x<=Right; x++){
[x,y] = replace([x,y],
"置換前の文字列置換前の文字列置換前の文字列\n"
+ "置換前の文字列置換前の文字列置換前の文字列\n"
+ "置換前の文字列置換前の文字列置換前の文字列\n"
+ "置換前の文字列置換前の文字列置換前の文字列\n"
+ "置換前の文字列置換前の文字列置換前の文字列\n",
"置換後の文字列\n");
}
}
よろしくお願いします。
Re: [230] セル内の改行削除について
あすかぜ [2011/11/02 00:38:47]
このマクロを使うほうが楽かもしれません。
実行するとダイアログボックスが表示されます。改行もそのまま入力して構いません。
a = InputBoxMultiLine("検索文字列を入力してください。");
if(a == ""){
return;
}
b = InputBoxMultiLine("置換文字列を入力してください。");
for(y=1; y<=Bottom; y++){
for(x=1; x<=Right; x++){
[x,y] = replace([x,y], a, b);
}
}
Re: [230] セル内の改行削除について
初心者 [2011/11/02 10:55:01]
ご連絡ありがとうございます。
感動いたしました!
通常の改行入りのテキストが即時削除されます。
本当にありがとうございます。
これからもこちらのソフトを重宝させていただきます。
Re: [230] セル内の改行削除について
松田中 [2020/06/05 17:23:17]
はじめまして。大変便利なツールを提供してくださって本当にありがとうございます。
掲示板の使い方に関して不慣れなため、書き込み方に誤りがありましたら大変申し訳ありません。
本件に関して、私の問題点も解消することができ大変助かりました。
その上で厚かましくて恐縮ではございますが、更に要望がございます。
1:検索・置換処理後に、処理件数が表示していただくことはできますか。
→処理した対象件数を把握したい・視覚的に処理完了を判断する目的から。
2:(これは本当に欲を言えば、の要望ですが)
「検索文言の入力画面」と「置換画面の入力画面」が一つのウインドウ内で入力することはできませんか。
(「検索・置換」機能の「文字列検索」タブの入力画面のようなイメージが希望です。)
3:(少々逸れますが)
こちらのマクロにショートカットキー「ctrl + shift + alt + F(アルファベット)」を割り当てたのですが何故か起動しませんでした。(ほかのショートカットキーは動作する・再起動も試しましたが)
現在は異なるショートカットキー(ちなみに、ctrl + alt + F(アルファベット)を割り当てているので使用上の問題はありません。なにか私の不手際かもしれませんが、ご報告までに記載させて頂きました。
色々と申し上げて大変失礼しました。
今後ともよろしくお願いいたします。
Re: [230] セル内の改行削除について
あすかぜ [2020/06/05 21:15:03]
書き込みありがとうございます。
1: マクロを書き換えてみました。こちらのマクロを試してみてください。
https://www.asukaze.net/soft/cassava/macro/asukaze/bbs230_20200605.cms
2: 新しいスレッドを作りました。
https://www.asukaze.net/soft/cassava/bbs/index.cgi?t=562
実現は難しそうですが、今後の改善案の一つとして検討してみます。
3: こちらも新しいスレッドを作りました。
https://www.asukaze.net/soft/cassava/bbs/index.cgi?t=563
私の環境でも Shift+Ctrl+Alt+F は動作しませんでした。
Cassava Editor のバグのようですが、今のところ原因は不明です。すみません。
よろしくお願いします。
Re: [230] セル内の改行削除について
松田中 [2020/06/08 14:55:08]
お世話になっております。
ダメ元で書き込んで見たのですが早々のご返信、しかも「1」のご対応まで頂き、
お忙しいところ申し訳ありませんでした。
早速新たなマクロの方を使わせて頂き、ますます使いやすくなりました。
本当にありがとうございます。
これからもどうぞよろしくお願いいたします。