ちくちく日記

DTP系備忘録。真面目にやってます。

InDesignでAppleScript-overflows-

オーバーフローしているテキストボックスをのばしたい時、Quarkなら
tell document 1 of application "QuarkXPress 3.3J"
tell page 1
repeat while (box overflows) of text box 1 --あふれている限り繰り返し
set {Y1, X1, Y2, X2} to coerce (bounds of text box 1 as fixed rectangle) to list
set Box_leading to coerce (leading of (paragraph 1 of text box 1) as millimeters) to real --Boxののばし幅
set bounds of text box 1 to {Y1, X1, ((Y2 as real) + Box_leading), X2}
end repeat
end tell
end tell

って感じでやってた。

InDesignでも同じようにリピートでぐるぐるまわしてフレーム幅をのばす事もできるのだけど、もっと簡単なのが
tell application "Adobe InDesign CS2_J"
tell document 1
tell (every text frame whose overflows = true)
fit given frame to content--フレームを内容にあわせる
end tell
end tell
end tell

これだとドキュメント上の全部のテキストフレームを一度に処理できてラクチンポン。
処理時間もあっというまに終わる。

ただ一つ難点は、フレームの伸びる方向をコントロールできない(中の文字組が横組なら下に、縦組なら左に伸びる)
横組のフレームを横にのばしたいような場合は、一つ一つリピートでぐるぐるするしかない。
これが結構めんどくさいんだよねぇ…一気に全部やるときに比べると時間もかかるし…。
Quarkの時はそうしてたんだから、同じといえばそうなんだけど、なんとかもっと早くできないかなー。