2度目の editor.documents

  1. // 秀丸のウインドウ管理の擬制
    // アクティブな 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  |  返信
  2. ご報告ありがとうございます。

    ぐふぅ・・・。完全に凡ミスでした、、、new Enumerator が呼ばれたときに カーソルを 0 に
    戻すの忘れてました・・・(汗

    すみませんっ!すぐに修正します!

     |  Kuro  |  返信
スポンサーリンク