前にも書きましたが、InDesignでの自動組版は、テキストフレームを置き、そこに文字を入れたり修飾したりして、完成するってのが、私の基本的な流れ。

もちろん、完成したい物によってはプログラムは変わってきますが…。


そこで、煩わしいのがBoundsの数値。

通常ならx1, x2, y1, y2とかって感じなんだろうけど、InDesignの場合は[y1,x1,y2,x2]。


で、これは面倒でよく間違えるので(わたしだけ?)ダイアログに出力し、コピペするってのを考えました。

まぁ、これはこれで面倒なんですけど(笑)、良く使ってました。

これの機能強化版もあるのですが、それはまた後ほどにでもアップします。



amiza_retのブログ-1) Boundsのダイアログ表示

テキストフレームを一つ選択して、動作させて下さい。


//テキストフレームを選択しBoundsをプログラムに書ける形に出力

txtObj = app.activeDocument.selection;

a0 = txtObj[0].visibleBounds[0];
a1 = txtObj[0].visibleBounds[1];
a2 = txtObj[0].visibleBounds[2];
a3 = txtObj[0].visibleBounds[3];

strBounds = ".visibleBounds = [" + a0 + ", " + a1 + ", " + a2 + ", " + a3 + "];";

wObj = app.dialogs.add({ name:"Bounds取得" });
tmp1 = wObj.dialogColumns.add();
tmp1.textEditboxes.add({editContents:strBounds, minWidth:300 });

wObj.show();