[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
(DTPtechNote:791) QXPの複製ミス
をよくやらかします(藁
コマンド+Dの移動量を0にしてるから。
#つまりまったく同じオブジェクトが重なってしまっているの^^;;;
InDesignだったら、オプションキーでコピーなのに、、、
まったくミスを誘発するソフトだ>QXP ^^
で、複製ミスを見つけるプログラム。
おうち使い用だから、box typeの判定とか面倒なことは一切やってません。
set f to 0
tell application "QuarkXPress4.10r2J"
activate
tell document 1
repeat with i from 1 to (count pages)
tell page i
set bounds_list to {}
repeat with ii from 1 to (count generic boxes)
tell generic box ii
if box type = line box type then
set {y1, x1} to start point as list
set {y2, x2} to end point as list
set end of bounds_list to {y1, x1, y2, x2}
else
set end of bounds_list to bounds as list
end if
end tell
end repeat
set my_index to my same_list(bounds_list)
if my_index is not 0 then
show generic box my_index
set ans to button returned of (display dialog "同じ大きさのボックスがあります。" buttons {"中止", "続行"} default button 2 with icon 1)
if ans = "中止" then
error number -128
else
set f to f + 1
end if
end if
end tell
end repeat
end tell
if f = 0 then
display dialog "同じ大きさのボックスはありませんでした"
else
display dialog (f as text) & "ページ分で重複したアイテムがありました"
end if
end tell
--重複したリストのindexをかえす
to same_list(theList)
set tmp_list to {}
repeat with i from 1 to (length of theList)
set tmp to item i of theList
if class of tmp is list then
repeat with ii in tmp_list
if contents of ii = tmp then return i
end repeat
else
if tmp_list contains tmp then return i
end if
set end of tmp_list to tmp
end repeat
return 0 --0が返れば重複はない
end same_list