1 件の投稿を表示中 (合計 1 個)
- 作成者投稿
- 2010年5月13日 2:17 am #9176kshi参加者
マクロが無限ループに陥った場合に脱出できるようにしてほしい、という要望がときどき出ていたかと思います。キー入力を検査する機能(これも別途、要望が出ていたかと……)を追加すれば、Escなど何かキーを押せば脱出するようなコードを書くことができます。
※ SeraphyScriptDialogを利用する例
var dt
var ssd = new ActiveXObject(“SeraphyScriptDialog”);alert(“これから無限ループします。” +
“ステータスバーに現在時刻を表示します。” +
“脱出するには ESC を1秒以上押してください。”
);while (true) {
if (ssd.GetASyncKeyState(0x1B)) { break; }
dt = new Date();
status = dt.toLocaleString();
ssd.DoEvents();
}status = “脱出しました。”;
ループ中に他のアプリに処理を明け渡すDoEvents()のようなメソッドも必要ですね。
EmEditorにこの機能が搭載されれば、いわゆるモード型マクロを作成することもでき、マクロで実現できる機能の幅が広がるかと思います。
ご検討いただければ幸いです。
- 作成者投稿
1 件の投稿を表示中 (合計 1 個)
- このトピックに返信するにはログインしてください。