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

(DTPtechNote:1175) [AS mi - javascript - InDesign CS] mi上からInDesign CSのjavasccriptを実行



(*
miの「javascript」モードで、ツールとして登録すれば
mi上からカレントドキュメントをInDesign CSのjavascriptとして実行します。
なにか返値があるようなら「javascript」モードの新規ドキュメントに開きます。
*)

tell application "mi"
	if not (exists document 1) then my my_error("ドキュメントが開かれていません")
	tell document 1
		if modified then
			display dialog ("このドキュメントは保存されていません。" & return & "保存しますか?") as Unicode text buttons {"キャンセル", "SAVE"} default button 2
			save
		end if
		set mi_file_path to file --アクティブドキュメントのパスをget
	end tell
end tell

tell application "Adobe InDesign CS_J"
	activate
	try
		set ans to do script mi_file_path language javascript
	on error
		my my_error("InDesign CS上でエラーになりました")
	end try
end tell

if ans is not "" then --なにかしら返値があれば、「javascript」モードで開く
	tell application "mi"
		activate
		try
			make new document at beginning with data ans with properties {mode:"javascript"}
		on error
			my my_error("返値をうまく受け取れませんでした。すいません orz")
		end try
	end tell
end if

---------------------エラー処理
to my_error(str)
	set str to str as Unicode text
	tell application "mi"
		activate
		display dialog str buttons {"キャンセル"} default button 1
	end tell
end my_error