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

(DTPtechNote:811) クリップボードからクォークへ



はじめまして、まだまだ初心者ですが、よろしくお願いします。
クリップボードから一行ずつとりだして、ワードごとに区切って、フォントと級数を個々に指定するスクリプトをかんがえたのですが、


display dialog "  指定外ネームのフォント" default answer "フォントをいれてください"
set Dans to text returned of result
display dialog " 指定外ネームのQ数は" default answer "級数をいれてください"
set Dansf to text returned of result
set allTxt to (the clipboard) as text --- クリップボードの中身を取得
set lastDelimit to AppleScript's text item delimiters --- デリミタ(区切り文字)をとっておく
set AppleScript's text item delimiters to ASCII character (13)
set allTxt to every text item of allTxt
set AppleScript's text item delimiters to lastDelimit --- デリミタ(区切り文字)を元に戻す
tell application "QuarkXPress召
	activate
	make document at beginning
	set i to 1 --ス魘
	set max to count item of allTxt --アイテムの数を数える
	repeat
		set the clipboard to item i of allTxt as text --1つずつクリップボードへ
		tell document 1
			tell page 1
				make text box at beginning ツ
					with properties {bounds:{"10mm", "10mm", "20mm", "100mm"}}
				tell text box 1
					set text 1 to the clipboard
				end tell
			end tell
		end tell
		
		set xxx to (the clipboard) as text
		set x to every word of xxx
		set xx to 0
		repeat with obj in x
			set xx to xx + 1
			
			tell word xx of story 1 of text box 1 of page 1 of document 1
				display dialog (word 1) & "  のQ数は" default answer Dansf
				set ANS to text returned of result
				set size to ANS
				display dialog (word 1) & "  のフォントは" default answer Dans
				set AN to text returned of result
				set font to AN
			end tell
		end repeat
		
		set i to i + 1
		
		if i > max then exit repeat --アイテム数だけ繰り返したら抜ける
	end repeat
	beep
	display dialog "終わりました。"
	
end tell
この場合にクリップボードに"A-CID 新ゴ L"
という単語があればワードごとわけると
"A-CID "  "新"  "ゴ"  "L" となるんですが、
上記のスクリプトで動かすと"A-" でひとつとってしまい
repeat with で個数分うごかしているのに最後の"L" がのまえでおわってしまいます。
描き方が悪いのか?それともしょうがないのか?対策があれば教えてください。よろしくおねがいします