特定の文字列に連番を付与する際に起こる現象について

投稿者: totasuta1 声2 投稿

EmEditorはそこそこ使っていましたが、マクロは全然使っていなかったものです。すごく初心者で申し訳ございません。 今回、特定の文字列に連番を付与する必要性がでてきたため、下記のようなマクロを作りました。 例えば、という言葉を、のように連番を追加していくとして、 -------------- var no = 1; while (document.selection.Find("", eeFindNext) > 0) { document.selection.Replace("","",eeFindNext); no++; } -------------- とすると、なぜか、一つ置きに追加されていってしまいました。 何が足りない要素か、どなた様か、大変申し訳ないですが、教えていただけますでしょうか。 ちなみに、現在応急処置として、3番目以降が正しく連番が振られるように、下記のようにしました。 -------------- var no = 2; while (document.selection.Find("", eeFindNext) > 0) { document.selection.Replace("","",eeFindNext); document.selection.Find("", eeFindPrevious); no++; } -------------- この場合、なぜか、2番目の特定文字列(例で言うと)が飛ばされて、3番目以降が正常に連番を付与されていきます。 何卒よろしくお願いいたします。
Find => 次のを検索 Replace => 次のを検索してに置換 という動作なので、Findを無くしてReplaceだけにすればうまく動作すると思います。
for(var i = 1; document.selection.Replace("","",eeFindNext) > 0; ++i) {}

このトピックの投稿: 2