Numbersの表データの選択範囲のセルのデータを取得し、重複データがあれば重複データのみ表示するAppleScriptです。
# NumbersというApple社製の表計算アプリケーションを操作する話であって、宝くじの話ではありません。また、本BlogはScriptでMac上のアプリケーションやOS内のサービスを呼び出して処理する話を紹介しているものであって、単に画面上から削除する方法を紹介するものではありません。また、データのユニーク化処理ができないわけがありません。とっくの昔に書いています。
macOS標準装備のScript Menuに入れて便利に使っています。Numbers上の選択範囲内に重複データがあれば、ダイアログでデータを表示します。
AppleScript名:Numbersで選択範囲のセルのデータを取得して重複データを抽出 |
— Created 2018-01-13 by Takaaki Naganoya — Modified 2018-06-06 by Takaaki Naganoya — 2018 Piyomaru Software use AppleScript version "2.4" use scripting additions use framework "Foundation" property NSCountedSet : a reference to current application’s NSCountedSet script spd property uniqList : {} end script set (uniqList of spd) to {} tell application "Numbers" tell front document tell active sheet try set theTable to first table whose class of selection range is range on error display notification "Numbers: There is no selection" return end try tell theTable set (uniqList of spd) to value of cells of selection range end tell end tell end tell end tell if (uniqList of spd) = {} then display notification "Numbers: There is no selection" return end if set aRes to returnDuplicatesOnly(uniqList of spd) of me if aRes is not equal to {} then choose from list aRes with prompt "Duplicated Data:" else display notification "No Duplicated Data" end if –1D Listから重複項目のみを抽出して返す on returnDuplicatesOnly(aList as list) set aSet to NSCountedSet’s alloc()’s initWithArray:aList set bList to (aSet’s allObjects()) as list set dupList to {} repeat with i in bList set aRes to (aSet’s countForObject:i) if aRes > 1 then set the end of dupList to (contents of i) end if end repeat return dupList end returnDuplicatesOnly |
More from my site
(Visited 1,423 times, 3 visits today)