[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
(DTPtechNote:1176) Re: [AS mi - javascript - InDesign CS] mi上からInDesign CSのjavasccriptを実行
ちっと書き直してみた
(*
miの「javascript」モードで、ツールとして登録すれば
mi上からカレントドキュメントをInDesign CSのjavascriptとして実行します。
なにか返値があるようなら「javascript」モードの新規ドキュメントとして開きます。
(c)2005 www.seuzo.jp
2005.07.03 とりあえず版
2005.07.04 新規ドキュメントの場合、保存ダイアログで保存させてから実行。拡張子が「.js」でないものは警告
*)
tell application "mi"
if not (exists document 1) then my my_error("ドキュメントが開かれていません")
tell document 1
if header = (" ファイル未定義" as Unicode text) then
set f_path to (choose file name with prompt ("ファイルを保存してください" as Unicode text) default name "hoge.js")
save in f_path
else if modified then
display dialog ("このドキュメントは保存されていません。" & return & "保存しますか?") as Unicode text buttons {"キャンセル", "SAVE"} default button 2
save
end if
if not (name ends with ".js") then my my_error("拡張子が「.js」でないといけません")
set mi_file_path to file --アクティブドキュメントのパスをget
end tell
end tell
tell application "Adobe InDesign CS2_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 as Unicode text) 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