クリップボード内にある改行区切りの数字を合計してクリップボードに返すAppleScript

タイトル通り。

1,000
500
10,500

みたいな改行区切りの数の合計を
クリップボードにペーストするAppleScript

使い方は、

  • 数字をコピー
  • スクリプトを走らせる
  • 任意の箇所にペースト

いつもは電卓か、エクセルやNumbersに貼り付けて、合計ってやってたんだけど、
スクリプトメニューでAutomatorのバッチ使っていて、こういうこともスクリプトメニューからできたら便利だなと思い。
AppleScriptなので、これでいいのかどうかもよくわかってない。。

(*
クリップボード内にある改行区切りの数字を合計してクリップボードに返すAppleScript
- 元データは改行区切りの数字行とする。
- 元データ、数字内にカンマ区切りでも問題なく計算できるみたい 例:1,000
- 小数点があるとダメぽい。そのうち調べてみる。
- 変数はなんとなくアタマに「_」つけてる。
*)

set _data to (the clipboard)

set AppleScript's text item delimiters to return
set _list to text items of _data

set _total to 0 as number

repeat with i from 1 to count of _list
	set _total to _total + (item i of _list)
end repeat

set _total to _total as string

-- ↑ここまでで_totalに合計が入る、↓以下3桁カンマ区切りの処理

set _length to (count of _total) - 1

set {_total_div, _total_mod} to {_length div 3, _length mod 3 + 1}
set _all to text 1 thru _total_mod of _total

repeat with i from -_total_div to -1 by 1
	set _all to _all & "," & (text (3 * i) thru (3 * (i + 1) - 1) of _total)
end repeat

-- ↓クリップボードにコピー。3桁区切りいらんならこの上消して、下の_allを_totalに。

set the clipboard to _all as string

ハイライト&苦悩の痕跡付きは以下より。
http://2244.jp/_demo/applescript/total/


参考:
AppleScriptで文字の挿入方法について教えて下さい。
└桁数処理なんて、ここの「野本夏俊 さんからのコメント」そのまんまです。自分理解用に変数名かえて動きをテストしています。
AppleScript - All About
数値の桁数を揃える
└桁数処理は別のやり方もあるようです。
Scripting Interface Guidelines