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

(DTPtechNote:1695) [AppleScript][InDesign CS2]オブジェクトスタイルの強制適用



スクリプトでobject styleを適用、または変更しようとすると、なんだか前のスタイルが残ってしまうので、強制的にスタイルを適用したかった。

Scripting Reference(InDesign CS2)には載っていない(または探し方が足りない)んだけど、page itemに対して
apply object style 適用するpage itemオブジェクト using オブジェクトスタイルの参照 with clearing overrides
っていうのが使える。
参考にしたのはここ
http://objectmix.com/adobe-indesign/238781-apply-object-style-applescript.html

以下の例は、オープンパスになっている引き出し罫のみ、オブジェクトスタイルを変更する。

tell application "Adobe InDesign CS2_J"
	tell document 1
		if exists object style "引き出し" then
			tell object style "引き出し"
				set end join to round end join
				set name to "引き出し(囲み)"
			end tell
		else
			display dialog "スタイル「引き出し」ありません"
			error
		end if
		make new object style with properties {name:"引き出し(線0.3)", stroke weight:"0.3mm", end join:miter end join, stroke color:color "引き出し罫"}
		
		set my_page_items to every page item
		repeat with i in my_page_items
			if applied object style of i is object style "引き出し(囲み)" then
				if path type of path 1 of i = open path then
					apply object style i using object style "引き出し(線0.3)" with clearing overrides
					
				end if
			end if
		end repeat
	end tell
end tell