ごんれのラボ

iOS、Android、Adobe系ソフトの自動化スクリプトのことを書き連ねています。

ExtendScript の everyItem() の使い方

概要

教えてもらったコードで everyItem() を使っていて、そういえばどう使うか理解してなかったなと思ったので、簡単な例をメモとして残しておく。

使用例

InDesignの表組内のすべてのセルのオーバーフローしているかを配列で取得するスクリプト

var tableObj = ... // tablesのインスタンス
tableObj.cells.everyItem().overflows;

// result [true, false, false, true]

InDesignの表組内のすべてのセルの長体率を配列で取得するスクリプト

everyItem() のあとにプロパティを指定して、そこからさらに everyItem() をつなげることも可能

var tableObj = ... // tablesのインスタンス
tableObj.cells.everyItem().texts.everyItem().horizontalScale;

// result [100, 90, 100, 50]

まとめ

プロパティの現在地を一気に取得したいときに使えますね。