Numbersで選択中のセルが1→2→3と、値が増加する形式(Ascending)になっているかをチェックするAppleScriptです。
書籍のページ(ノンブル)は、かならず1–>2–>3とページ数がかならず増加するようになっています。これが、途中で減るような値になっているとまずいので、そのチェックを行うようにしてみたものです。
本ScriptはNumbers v14.3でテストしていますが、もっと古いバージョンでも問題ないことでしょう。
AppleScript名:選択範囲のセルの数値がAscendingになっているかをチェック |
— – Created by: Takaaki Naganoya – Created on: 2024/12/25 — – Copyright © 2024 Piyomaru Software, All Rights Reserved — use AppleScript version "2.4" use scripting additions use framework "Foundation" property NSString : a reference to current application’s NSString property NSCharacterSet : a reference to current application’s NSCharacterSet set curTable to getCurTable() of me if curTable = "" then return tell application "Numbers" tell curTable set cList to value of every cell of selection range end tell end tell copy cList to dList set dList to shellSortAscending(dList) of me if cList = dList then return true else return false end if on getCurTable() tell application "Numbers" tell front document tell active sheet try set theTable to first table whose class of selection range is range on error return "" –何も選択されてなかった場合 end try return theTable end tell end tell end tell end getCurTable –入れ子ではないリストの昇順ソート on shellSortAscending(aSortList) script oBj property list : aSortList end script set len to count oBj’s list’s items set gap to 1 repeat while (gap ≤ len) set gap to ((gap * 3) + 1) end repeat repeat while (gap > 0) set gap to (gap div 3) if (gap < len) then repeat with i from gap to (len – 1) set temp to oBj’s list’s item (i + 1) set j to i repeat while ((j ≥ gap) and (oBj’s list’s item (j – gap + 1) > temp)) set oBj’s list’s item (j + 1) to oBj’s list’s item (j – gap + 1) set j to j – gap end repeat set oBj’s list’s item (j + 1) to temp end repeat end if end repeat return oBj’s list end shellSortAscending |
More from my site
(Visited 1 times, 1 visits today)