マクロ動作をやり直しバッファに残さない
No.10759
おすぎ
さん 25/10/08 08:48
いつもお世話になっています。
マクロを動作させて、それをやり直しバッファに残さない方法はあるでしょうか?
Google AI によると、以下の通り。
「秀丸でマクロ実行時の「やり直しバッファに残さない」ようにするには、
マクロファイル内で「Undo_Enable = 0;」と記述して、
一時的にUndo機能を無効にしてから実行し、
その後「Undo_Enable = 1;;」でUndo機能を再度有効にします」
Undo_Enable = 0; なんてコマンドは、ないですよね?
実際、書いてみたらエラーが出ました。
ご教授いただけましたら幸いです。
よろしくお願いいたします。
[
△
]
RE:10759 マクロ動作をやり直しバッファに
No.10760
秀丸担当
さん 25/10/08 09:38
秀丸マクロにはUndo_Enable = 0;といった方法は無いです。
やり直しバッファは一連の繋がりなので、マクロ動作中だけの部分をやり直しバッフ
ァに残さないということはできません。
一時的な編集があって、それを戻したいという場合は、本当にやり直しをするのがい
いです。
begingroupundo〜endgroupundoを使うとまとめてやり直しができます。
例:
begingroupundo;
insert "a\n";
insert "b\n";
endgroupundo;
undo;
キー割り当て等が可能なコマンドとして、[やり直しバッファのクリア]があります。
これに相当するマクロの文は、
clearundobuffer;
になります。
これは名前の通りクリアするので、それ以前のやり直しは全てできなくなります。
[
△
]
RE:10760 マクロ動作をやり直しバッファに
No.10761
おすぎ
さん 25/10/08 09:52
>マクロ動作中だけの部分をやり直しバッファに残さないということはできません
>clearundobufferは、それ以前のやり直しは全てできなくなります。
部分的にやり直しバッファに残さないというのはダメなんですね。
ありがとうございました。
[
△
]