[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

で、どうだ。と。
せっかくライブラリ化してもアタマがこんなにでかくなってしまっては。。(^^;;;;;