Illustratorで選択したオブジェクト(テキストを含む)からテキストデータだけを選択した状態にする。
複数のレイヤーに分散したデータを選択し、以下のJavaScriptを失効すると・・・
// 選択されたオブジェクトを取得
var selectedItems = app.activeDocument.selection;
// テキストを格納する配列
var textItems = [];
// 選択されたオブジェクトを走査してテキストデータを取得
for (var i = 0; i < selectedItems.length; i++) {
var currentItem = selectedItems[i];
if (currentItem.typename == "TextFrame") {
textItems.push(currentItem);
}
}
// すべてのオブジェクトの選択状態を解除に
// テキストデータだけを選択状態にする
if (textItems.length > 0) {
app.activeDocument.selection = null;
// テキストフレームのみを選択
for (var j = 0; j < textItems.length; j++) {
textItems[j].selected = true;
}
} else {
// エラー処理
alert("テキストデータが選択されていません。");
}
実行するとテキストデータだけが選択された状態になります。
レイヤーの状態はこんな感じです。