Pagesオブジェクトにeachメソッドをかなり強引に実装する
javascriptのエラいひとに槍玉にあげられそうなかんじだけど,全体のコードのタイプ量が減るので5分ぐらいは早く家に帰ることが可能になるかもしれません.ういた5分は有効にお使いください.
#target InDesign var doc = app.activeDocument; doc.pages.__proto__.each = function(fn){ with({tgt:this}){ for(var i=0; i<tgt.length; i++){ fn(tgt[i],i); }}}; doc.pages.each(function(o,idx){ alert(o.name); alert(idx);});
おそらく(function(o){...})(obj)とかで再帰関数をうまくつくると,TextFramesとかParagraphsとかCharactersとかその他モロモロにeachを強引に実装できると思います.けどあんまりやらないほうがいいかもしれません.