コピペで作ったNumbersの表に空白文字(ゴミ)が入っている場合のクリーニング用AppleScriptです。Numbers v14.2用に作成しましたが、バージョンが異なっても動作に変化はないでしょう。
ExcelやNumbersなどの表計算アプリでは、前のセルに入力されたフォーマットを維持する機能がついているため、前のセルが空白文字ではじまる(=ゴミが入っている)と、次のセルにも同様にゴミが入ることになります。
そこで、クリーニング用に本Scriptを作成しました。
▲こんな風に、セルの先頭にスペースが入ってしまっている場合のクリーニング用Script。対象セルを選択して本Scriptを実行
▲本Script実行後の様子。各セルの冒頭に入っていたスペースが削除される
ただ、大量のセルを処理するような配慮は一切行っていないので、広範囲のセルを処理する場合には、もっと真剣に高速化を行う必要があることでしょう。
macOS標準装備のスクリプトメニューに入れて呼び出すことを想定しています。
AppleScript名:選択範囲のセルの前後の空白を削除して書き戻す |
— – Created by: Takaaki Naganoya – Created on: 2024/10/14 — – 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 every cell of selection range repeat with i in cList set j to contents of i set tmpVal to value of j if tmpVal is not equal to missing value then set tmpVal to trimWhiteSpaceFromHeadAndTail(tmpVal) of me ignoring application responses set value of j to tmpVal end ignoring end if end repeat end tell end tell 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 trimWhiteSpaceFromHeadAndTail(aStr as string) set aString to NSString’s stringWithString:aStr set bString to aString’s stringByTrimmingCharactersInSet:(NSCharacterSet’s whitespaceAndNewlineCharacterSet) return bString as anything –as anything end trimWhiteSpaceFromHeadAndTail |
More from my site
(Visited 1 times, 1 visits today)