- 作成者投稿
- 2011年12月5日 2:01 pm #10827naru参加者
マクロのカスタマイズで『ドキュメントが閉じた時』のイベントをONにしたマクロを使っているのですが、
EmEditorを終了(複数ファイルを一度に閉じる)と、
終了時にアクティブだったファイルに対してしかマクロが実行されません。
開いていたファイル全てに対して実行したいと考えているのですが、何か対応策はありますでしょうか?—
EmEditor Professional (32-bit) Version 11.0.2
Windows XP Professional Version2002 SP32011年12月5日 6:26 pm #10828Yutaka Emuraキーマスターnaru 様
いつも EmEditor Professional をお使いいただき、誠にありがとうございます。
終了する時のイベントで、次のようなマクロを使って、開いているすべての文書に対して何か動作を行うことができます。これでいかがでしょうか?
docs = new Enumerator( editor.Documents );
for( ; !docs.atEnd(); docs.moveNext() ){
doc = docs.item();// ここで、 各 doc に対して実行する
}今後もどうぞよろしくお願い申し上げます。
2011年12月5日 11:41 pm #10829naru参加者お返事、ありがとうございます。
教えていただいた方法ですと、
『ドキュメントが閉じた時』のイベントをONにしていると、
1つのファイルを閉じた場合、閉じたファイル以外に対しても実行されてしまいます。
EmEditorを閉じたときに動作としては理想的なのですが……。
理想としましては、■a.txt、b.txt、c.txtの3ファイルを開いている場合
・a.txtを閉じた場合:a.txtに対してマクロを実行する
・EmEditorを閉じた場合:全てのファイルに対してマクロを実行するといった感じになります。
やはり難しいでしょうか?2011年12月6日 6:29 pm #10830Yutaka Emuraキーマスターnaru 様
いつも EmEditor Professional をお使いいただき、誠にありがとうございます。
ご指摘の件、きれいに処理できなくて申し訳ありません。少し面倒ですが、終了するときのイベントで、すべて閉じたときは、アクティブなマクロを無視するようにする、というのはどうでしょうか?
今後もどうぞよろしくお願い申し上げます。
2011年12月7日 2:04 pm #10832naru参加者江村さん、代替案をお考えいただきありがとうございます。
ただマクロの知識が足りないため終了するときのイベントで、すべて閉じたときは、アクティブなマクロを無視するようにする
をどうやればいいのかわかりません。
すいません、お手数ですが詳しい方法を教えていただけますでしょうか?
よろしくお願いします。2011年12月7日 11:10 pm #10833Yutaka Emuraキーマスターnaru 様
いつも EmEditor Professional をお使いいただき、誠にありがとうございます。
以下のような感じでイメージしていただければと思いました。マクロ ファイルは、少なくとも 2 個以上必要になり、共通関数を別のファイルに書くとすると、それを #include するため、合計 3 個になります。
EmEditor が終了されるときのイベント:
on_exit.jsee:
#include “common.jsee”
docs = new Enumerator( editor.Documents );
for( ; !docs.atEnd(); docs.moveNext() ){
doc = docs.item();
// アクティブな文書でない場合のみ実行
if( doc != editor.ActiveDocument() ){
Func( doc );
}
}ファイルを閉じるときのイベント:
on_close.jsee:
#include “common.jsee”
doc = editor.ActiveDocument();
Func( doc );共通関数:
common.jsee
function Func( …. )
….今後もどうぞよろしくお願い申し上げます。
2011年12月8日 3:41 pm #10836naru参加者江村さん
詳細にお教えいただき、ありがとうございます。
無事、イメージ通りの動作をさせることが出来ました。今回のことで要望したいことが出てきましたので、併せてこちらに書かせていただきます。
自分の場合、イベントで実行する場合、それ以外では使わないので『ツールバーに表示しない』といったオプションが欲しいです。
もしくは、普段も実行することを考慮し、イベントで実行するマクロをひとまとめにするオプションが欲しいです。
これがあるとマクロツールバーに登録されるマクロが減り、視認性もよくなり、便利かなと思いました。
ご検討いただけますと幸いです。2011年12月20日 8:29 pm #10859Yutaka Emuraキーマスターnaru 様
いつも EmEditor Professional をお使いいただき、誠にありがとうございます。
残念ながら、マイ マクロのマクロは、すべてマクロ ツール バーに表示されてしまいます。
でも、マクロ ツール バーは非表示にして、新しいツール バーを新規に作成し、表示させたいマクロだけを、ツール バーに表示させることは可能です。新しいツール バーを新規に作成するには、[ツール] メニューより、[ツール バーの変更] を選択し、[新規作成] ボタンをクリックしてください。どうぞよろしくお願い申し上げます。
- 作成者投稿
- このトピックに返信するにはログインしてください。