AppleScriptを使ったNumbersのセルの読み取りについて
AppleScriptを使ってNubersの表の値にアクセスする
前提
MacBook Air M1
Numbers
Numbersの表を用意してあること
※なお、AppleScriptに関してはまったく理解がないこと、
Numbersを操作する正確なドキュメントを見つけることが出来なかったため
ChatGPT3.5や他のblogを参考に試行錯誤しながら構築した
なぜ、AppleScriptを使うのか?
WindowsのExcelとVBAで処理することは出来るかもしれないが、残念ながらOfficeは持っていない。Macは標準でPages,Numbers,KeyNoteと付いてくるので、ExcelみたいなNumbersで処理しようとしたのが始まり
普通にofficeを購入してもWindowsの方が安いという話はあるかもしれないが、あるもので処理を考える
実装
tell application "Numbers"
tell front document
tell sheet "シートの名前"
tell table "表の名前"
-- 2列目の各行の値を読み取るループ
repeat with rowNumber from 2 to count of rows
set cellValue to value of cell rowNumber in column "B"
end repeat
end tell
end tell
end tell
end tell
コードの感想
NumbersもExcelと似ているのかドキュメント、シート、テーブルで構成されている。従って、Numbersのどのファイル名のシート名のテーブル名を指定することでセルにアクセスできるようだ
このコードを実行すると2列目の各行を読み取る操作となる(B2のセル、B3のセル、B4のセル、・・・)ちなみに、なぜ、2行目からかといえば、1行目はヘッダとして使用しているからだ
また、ChatGPT3.5に質問を繰り返したのだが、情報が古いのか使えないメソッドやプロパティを提示してくるので、ChatGPT3.5の発言と矛盾に苦しんだ戦いだった。正直、Numbersの操作に関するオフィシャルなドキュメントを見つけられていないので、どうして構文がかけるのか不思議でしかないので、情報を知っている方がいたら教えてほしい
site:developer.apple.com numbers apple script
これも昔、教えてもらったのだが、日本語での解説がないときにはオフィシャルなサイトの言語(翻訳前)で調べるとよいとのこと。しかし、自分の検索の仕方が悪いのかdisscussionが出てきている状況である
site:ドメインで、そのドメインだけで検索できるので、積極的に使用する
参考にしたブログ
何行目の何列目のセルを指定する方法を調べるのに使用した
おわり!