[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
(DTPtechNote:798) Illustrator CS のアタッチャブルとしてのpath to me
まあ当たり前なのかもしれないけど。
Adobe Illustrator CS:Presets.localized:Scripts.localized:
に以下のように書いたもの(アプリケーション)をアタッチャブルとして認識させると
tell application "Finder"
set lib_path to file (path to me)
display dialog lib_path as Unicode text
end tell
-->HDname:Adobe Illustrator CS:Illustrator CS.app
なんて返ってきちゃう。
だから、いくつもの似たようなスクリプトからライブラリを参照しようと
tell application "Finder"
try
set lib_path to container of file (path to me)
set lib_path to file "guide.lib" of lib_path
set guide_lib to load script alias (lib_path as Unicode text)
on error errMsg number errNum
display dialog "guide.libがありません" as Unicode text
error number -128
end try
end tell
と書いても、目的のパスは得られない。
Adobe Illustrator CS:Presets.localized:Scripts.localized:
に入れてアタッチャブルにしたいのはいわゆる「おまけ」だから
アプリケーションとしても独り立ちさせてやりたい。
ダブルクリックで呼ばれたかどうか分かれば一番いいんだけど、、、
まあ苦肉の策(←ひらがなで書くとちょっとヘンだと発見<くにくのさく)
tell application "Finder"
try
set lib_path to file (path to me)
set folder_path to container of lib_path
if name of lib_path is "Illustrator CS.app" then --アタッチャブルとして呼ばれた
set lib_path to (folder_path as Unicode text) & "Presets.localized:Scripts.localized:guide_01:guide.lib"
else --ダブルクリックで呼ばれた漏れ
set lib_path to file "guide.lib" of folder_path
end if
set guide_lib to load script alias (lib_path as Unicode text)
on error errMsg number errNum
display dialog "guide.libがありません" as Unicode text
error number -128
end try
end tell
で、どうだ。と。
せっかくライブラリ化してもアタマがこんなにでかくなってしまっては。。(^^;;;;;