水曜日, 9月 13, 2023

JavaScriptでAI遊び 10 
ファイル内のテキストデータを一気選択

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("テキストデータが選択されていません。");
}

実行するとテキストデータだけが選択された状態になります。

レイヤーの状態はこんな感じです。