Wednesday, May 5, 2010
選択中のオブジェクトからテキストフレームだけをえり分ける function は、 カネムーメモ を参考にさせていただきました。
#target "InDesign"
function getSelectedTf(){
var sels = app.activeDocument.selection;
//テキストフレーム以外を除外
for(var i=sels.length-1;i>-1;i--){
if(sels[i].constructor.name!=='TextFrame'){
sels.splice(i,1);
}
}
// 先頭のTFを取得
var tf = sels[0];
return tf;
}
function appendText( tf , text ){
var mytf = app.activeDocument.textFrames.add();
mytf.contents = text + "\r";
// set pstyle
//var ps = doc.paragraphStyles.item("$styleName");
//mytf.texts.item(0).applyParagraphStyle(ps, true);
tf.nextTextFrame = mytf;
mytf.remove();
}
var tf = getSelectedTf();
appendText( tf, "hello!" );
InDesign を起動して、テキストフレームを選択した状態で、settext.jsx を実行します。