クリップボード内にある改行区切りの数字を合計してクリップボードに返す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