2度目の editor.documents
-
// 秀丸のウインドウ管理の擬制
// アクティブな document は、0 の添え字にする。
function get_documents(){
var ad = editor.ActiveDocument;
var arr = [ ad ];
var d;
for( var docs = new Enumerator(editor.documents); ! docs.atEnd(); docs.moveNext() ){
d = docs.item();
if( d != ad ) arr.push( d );
}
return arr;
}
var ds;
for( var c = 1; c <= 2; c++ ){
document.Writeln("第 " + c + " 回目");
ds = get_documents();
for( var i=0; i < ds.length; i++ ){
document.Writeln( "(" + i + ")\t" + ds[i].FullName );
}
}
/*
●準備
a.txt, b.txt, c.txt を開いて実行
アクティブなのは、a.txt
●結果
第 1 回目
(0) D:\program\Mery\My Macros\a.txt
(1) D:\program\Mery\My Macros\b.txt
(2) D:\program\Mery\My Macros\c.txt
第 2 回目
(0) D:\program\Mery\My Macros\a.txt
●論評
2回目は、他の doc オブジェクトがなくなってしまう。
editor.documents を使った、閉じるスクリプトだと気づきにくい
*/| kinzoku | 返信 -
ご報告ありがとうございます。
ぐふぅ・・・。完全に凡ミスでした、、、new Enumerator が呼ばれたときに カーソルを 0 に
戻すの忘れてました・・・(汗すみませんっ!すぐに修正します!
| Kuro | 返信