特定の文字列に連番を付与する際に起こる現象について
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