続・ページ上のオブジェクト指定
■allPageItemsで、マスターページを除外する書き方の例
[例1]ドキュメントページを指定(例は1ページ)して処理する場合
var myDoc = app.activeDocument; for (var i=0; i<myDoc.pages[0].allPageItems.length; i++) { /////ここに処理を書く(例:塗りを黒に)///// myDoc.pages[0].allPageItems[i].fillColor = "Black"; }
[例2]マスターページAを除外する場合
var myDoc = app.activeDocument; for (var i=0; i<myDoc.allPageItems.length; i++) { if (myDoc.allPageItems[i].parentPage.name != "A") /////ここに処理を書く(例:塗りを黒に)///// myDoc.allPageItems[i].fillColor = "Black"; }
■さまざまなオブジェクトが存在するときに、特定のフレームだけ対象にする場合の書き方
[例3]画像フレーム、テキストフレーム、グループオブジェクトが存在するページで、「test.eps」が配置されたフレームを青枠で囲む
sample()//関数「sample」の呼び出し //ここから関数「sample」 function sample() { var myDoc = app.activeDocument; var obj = myDoc.pages[0].allPageItems; for (var i=0; i<myDoc.allPageItems.length; i++) { try {//allPageItemsだとくり返し数があまるので、エラー処理をしておく if (obj[i].constructor.name == "TextFrame"){ if (obj[i].contentType == ContentType.graphicType) { if (obj[i].allGraphics[0].itemLink.name == "test.eps"){ obj[i].strokeColor = "C=100 M=0 Y=0 K=0"; obj[i].strokeweight = "1mm" } } } } catch(e) {break} //エラーが発生したらループを抜ける }}
ページアイテムの中からテキストフレームを選び、さらにテキストフレームの中から属性が画像のものを選んでいます。