> コピーペーストじゃなくてtextRangeのメソッドのmoveかduplicateを使いましょう
「textRange」を知ったばかりなので使い方に自信がないのですが、「Illustrator スクリプト作成ガイド」より参照して下記のように記述してみました
var rectRef = doc.pathItems.rectangle(0, 0, 100, 100);
var areaTextRef = DOC.textFrames.areaText(rectRef,TextOrientation.HORIZONTAL,undefined,false);
sel.textRange.move(areaTextRef,ElementPlacement.PLACEATBEGINNING);
テキストがなにもないテキストフレームは作成されましたが、文字の移動が出来ませんでした…。
「textRange.move」や「textRange.duplicate」を使う時には選択したテキストを一度グループ化などが必要でしょうか?
for (var i=0; i < sel.length; i++){
var areaTextRef = doc.textFrames.areaText(rectRef,TextOrientation.HORIZONTAL,undefined,false);
sel.textRange.duplicate(areaTextRef,ElementPlacement.PLACEATBEGINNING);
sel[i].textRange.move(tFrame, ElementPlacement.PLACEATBEGINNING);
sel[i].remove();
sel[i] = tFrame;
}
選択を複数と指定した場合も試してみたのですが同様に変化はなく…
script自体の理解が足りず、訂正箇所が具体的に掴めず申し訳ありません…!
[21019] 柴犬 (2022/11/28 Mon 19:03)