English help on website



replaceall replaceallfast文(Ver9.15対応版)
目次検索系文− replaceall replaceallfast文
replaceall, replaceallfast文は、replaceup, replacedown文とまったく同じ文法です。
replaceallは普通に全置換を実行し、replaceallfastは高速に全置換を実行します。
置換が終了しても、「何個置換しました」のメッセージは表示されず、代わりにresultに置換した個数が入ります。
linknextを付けて置換した場合、resultには現在の秀丸エディタで置換した数しか入りません。他の秀丸エディタでも置換した総数を取得するにはgetresultexを使います。
途中で中断された場合はresultは-1になります。

メニューから検索等を行って失敗した場合には、音やメッセージで知らせますが、マクロから実行した場合には音やメッセージは出ません。
一般に、検索が失敗した場合は音を鳴らしたりメッセージを出したりしますが、マクロから実行した場合はそれらの動作をしません。代わりにresultに結果コードを返します。

この文単体では「まとめてやり直し」の対象になりません。まとめてやり直しするには文の前後にbegingroupundoendgroupundoを書く必要があります。
ただし、linknextを付ける場合は全てのウィンドウで自動的にbegingroupundo〜endgroupundoをした扱いになります。(V8.01以降)

検索/置換文字列には上限があります。上限を超える可能性がある場合は事前に文字数をカウントして判断する必要があります。
参照:検索/置換文字列の上限について

replaceall, replaceallfastのどちらも、通常のままだと「全置換処理中」の経過を表すダイアログが出ます。
disabledrawをしておくと、「全置換処理中」は出なくなります。