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

(DTPtechNote:1456) [AS_Indesign CS2]画像ファイルからタイトルを入れる



画像にタイトルを入れる作業が1000点くらい発生。
原稿は
画像ファイル名→タイトル名
みたいな感じで延々とある。
こんなの、コピペしてられっか!

1)原稿をちょっと置換してrubyスクリプトにしちゃう
#! /usr/bin/ruby -Ku
my_key = ARGV[0]
s_key = my_key.sub(/[AB]/, '')#ファイル名の末尾にAとかBとか入ってるのをとるだけ。単なる仕様
name_tbl = {"filename1" => "たいとる1","filename2" => "たいとる2"}#ここに延々とつづく
print name_tbl[s_key]

2)Indesign CS2上で対象のテキストフレームと画像フレームを選択して、スクリプトを走らせる。
tell application "Adobe InDesign CS2_J"
	activate
	tell document 1
		set my_every_selection to object reference of selection
		--選択しているのはテキストフレームとグラフィックフレームを1つづつだと想定
		if class of item 1 of my_every_selection = text frame then
			set my_text_frame to object reference of item 1 of my_every_selection
			set my_graphic_frame to object reference of item 2 of my_every_selection
		else
			set my_graphic_frame to object reference of item 1 of my_every_selection
			set my_text_frame to object reference of item 2 of my_every_selection
		end if
		--ファイル名をget
		set my_image to object reference of item 1 of all graphics of my_graphic_frame
		set my_name to (name of item link of my_image) as Unicode text
		set my_name to (characters 1 thru -5 of my_name) as Unicode text
		
		--rubyでテキスト処理(ruby scriptはフルパスではいってます)
		set my_title to do shell script "ruby /Users/hogehoge/Documents/AppleScript/InDesign/other/filename.rb " & my_name
		--テキストフレームに結果を入れる
		set contents of my_text_frame to my_title
	end tell
end tell


エラー処理とかいっさいしてないので、おうちつかい用。