[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

(DTPtechNote:425) Re: text box for QXP



>ぬるい感じでもうしわけない(^^;;;;; 

さらに水を差す感じで。。。

(*
リフローしているテキストボックスをリフローが解消するまで縦方向に拡張します
縦組みのことは考えてません。エラートラップもなく、きっとバグあります(笑)
*)

set fluctuation to 1 --増加量
set aki to 0 --テキストとテキストボックスのアキ量

tell application "QuarkXPress4.10r2J"
	activate
	tell document 1
		tell current box
			try
				--まずは増加量の10倍づつで、フローが解消されるまで
				repeat while box overflows
					set {y1, x1, y2, x2} to bounds as list
					set tmp to (y2 as real) + (fluctuation * 10)
					set bounds to {y1, x1, tmp, x2}
				end repeat
				--つぎに増加量と等しく、フローになるまで
				repeat until box overflows
					set {y1, x1, y2, x2} to bounds as list
					set tmp to (y2 as real) - fluctuation
					set bounds to {y1, x1, tmp, x2}
				end repeat
				--さらに1/10精度で、フローが解消されるまで
				repeat while box overflows
					set {y1, x1, y2, x2} to bounds as list
					set tmp to (y2 as real) + (fluctuation / 10)
					set bounds to {y1, x1, tmp, x2}
				end repeat
				
				--最後にテキストとテキストボックスのアキ量を設定
				set {y1, x1, y2, x2} to bounds as list
				set tmp to (y2 as real) + aki
				set bounds to {y1, x1, tmp, x2}
				
			on error errMsg number errNum
				display dialog "たぶんこれ以上おおきくなりません" buttons {"キャンセル"} with icon 0
			end try
		end tell
	end tell --document 1
end tell --application