選択中のオブジェクトを取得
var sel = app.activeDocument.selection;
appは省略できるけど、省略しない方が処理が早いような気がする……けど気のせいかもしれない。 変数selの中に、選択したオブジェクトが前面順に格納されます。
選択オブジェクトの数
var num = sel.length;
var num = app.activeDocument.selection.length;
1番目(最前面)の選択オブジェクト
var frntObj=sel[0];
それぞれのオブジェクトを処理する
for (var i=0; i<sel.length; i++){
//ここに処理
}
typenameプロパティに注意
テキストフレーム内の文字を選択した場合(文字を反転させている状態)はtypenameプロパティがないためエラー。try…catchで回避する。
選択されたオブジェクトの種類
var sel = app.activeDocument.selection;
for(var i=0; i<sel.length; i++){
try{ var objType = sel[i].typename;
}catch(e){
// 文字が選択されていた場合の処理
}
}