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

(DTPtechNote:1586) [AS_InDesign CS2]delete_link



これでいいのかよくわからないんだけど、
どこにもないのに、消せないリンクを削除します。
なんだろうな、、、不気味系。

(*
delete_link.applescript
(c)2007www.seuzo.jp

不気味に残っていて消せないファイルリンクを、名前で比較して消去します。
2007.07.05	ver0.1	とりあえず
*)

--ここに消したいファイル名をリストで入れる。
set remove_link_name to {"間違いやすい.eps"}


tell application "Adobe InDesign CS2_J"
	my doc_exists()
	set my_count to 0 --リンク修正数のカウンタ
	tell document 1
		set every_link to every link
		repeat with i in every_link --すべてのリンクについて
			set file_name to (name of i) as Unicode text
			repeat with ii in remove_link_name
				set ii to ii as Unicode text
				if ii is file_name then
					--unlink i--これでは消せなかった。
					delete parent of i --graphicクラスでdelete
					set my_count to my_count + 1
				end if
			end repeat
		end repeat
		
	end tell
end tell
display dialog (my_count & "箇所のリンクを削除しました") as Unicode text

--------------------------------------------------------●ドキュメントが開かれているかどうか
to doc_exists()
	tell application "Adobe InDesign CS2_J"
		if not (exists document 1) then
			activate
			my my_error("ドキュメントが開かれていません", true)
		end if
	end tell
end doc_exists

----------------------------------●エラー処理
to my_error(err_str, my_stop)
	set err_str to err_str as Unicode text
	if my_stop then
		set my_stop to {"中止"}
	else
		set my_stop to {"中止", "続行"}
	end if
	tell application "Adobe InDesign CS2_J"
		activate
		beep
		set ANS to button returned of (display dialog err_str buttons my_stop) --警告ダイアログ出してストップ
		if ANS is "中止" then error number -128
	end tell
end my_error