DTP駆け込み寺

No.11101へ返信

記事投稿フォーム
補助
送信

[ 返信 ]

多重グループ化されたアイテムに対してスクリプ処理する方法は?

InDesignのスクリプトで質問があります。
複数アイテムを選択してスクリプトを動かすと、
テキストフレームに入っている文字を
黒色に変えるスクリプトを作りましたが、
多重にグループ化されたアイテムがあると希望通り動作しません。
どのようにすれば、多重グループ化されたアイテムに対しても処理できるのでしょうか?
お教え下さい。

作ったスクリプトは下記の通りです。

var docObj = app.activeDocument;
sel = docObj.selection;
for (i=0; i<sel.length; i++){
 if ( sel[i] .constructor.name == "Group" ){
  myGroup = sel[i].allPageItems;
  for ( j=0; j<myGroup.length; j++ ){
   if ( myGroup[j].contentType == 1952412773 ){
    for( k=0; k<myGroup[j].paragraphs.length; k++ ){
     myGroup[j].paragraphs[k].fillColor = "Black";
    }
   }
  }
 }else{

  if ( sel[i].contentType == 1952412773 ){
   for( t=0; t<sel[i].paragraphs.length; t++ ){
    sel[i].paragraphs[t].fillColor = "Black";
   }
  }
 }
}

使用しているInDesignはMacのCS4です。
使用するスクリプト言語はJavaScriptです。
よろしくお願いします。

[11101] けんけん (2010/12/09 Thu 16:38)