#31506
Yutaka Emura
キーマスター

いつもお世話になっております。江村です。

マクロの 2746 行目の BatchReplace の直後、Find で範囲を選択するところがあります。ここでどの文字列も一致しないため、選択範囲は空になります。2826行目の BatchReplace は、 eeFindReplaceSelOnly が指定されているため、選択範囲の置換になります。ところが、選択範囲が無いため、本来は何も置換できないことになりますが、選択範囲が無いのにもかかわらず置換しようとするため、前にも書いたようにめ、予期しない動作が発生しているわけです。この問題はまもなく公開する次のバージョンで改善します。空の選択範囲に対して置換を実行しようとしたとき、エラーとしてマクロを停止せずに、何もしないで制御を次に移すことにします。

結論は、選択範囲が document.selection.Collapse();で解除されないのではなく、正しく解除されています。しかし、前にも書いたように、空の選択範囲に対して置換を実行しようとしたため、正しく動作していないわけです。私が少し前に書いた発言 #31473 の通りです。

よろしくお願いいたします。