Menu

Skip to content
AppleScriptの穴
  • Home
  • Products
  • Books
  • Docs
  • Events
  • Forum
  • About This Blog
  • License
  • 仕事依頼

AppleScriptの穴

Useful & Practical AppleScript archive. Click '★Click Here to Open This Script' Link to download each AppleScript

タグ: Numbers Creator Studio

Apple Creator StudioのKeynoteがMCP+JSONベースのファイル形式に対応

Posted on 10月 29 by Takaaki Naganoya

2026年11月に、Apple Creator StudioのKeynoteが、MCP(Model Context Protocol)とJSONベースのファイル形式である.keyxをサポートするとのこと。

MCPは、AIエージェントがアプリを操作する際の共通規約で、REST APIとほぼ同じ手続きで呼び出せるものですが、「なんでもあり」なREST APIと異なり、規約にのっとった問いかけと回答が得られます。

MCPでは「Prompts(AIへの指示)」「Resources(データ・コンテキスト)」「Tools(実行するアクション)」の3つの枠組みに100%固定されています。

状態を維持するなど、ステートレスなREST APIとは「基本的な考え方」が違うともいえ、SOAPに近づいたJSON-RPCなどと言えるかもしれません(どれだけ共感を得られるか謎な表現)。

ただ、Appleのやることなので……「なんでもできる理想の機能セット」という実装になるかどうか。すべての機能やプロパティを呼び出せるようになってはいないと予想します。

一方、JSONベースのファイル形式「.keyx」については、たしかに仕様が公開されていれば、テキストとして組み立ててKeynote書類を作成できて便利でしょう。

ただ、あのAppleのやることなので必ず「落とし穴」があるはずです。500ページもある書類でのテストとかはしていないでしょうし、英語環境以外のテストもしていないはずです。まともな検証が行われていると考えてはいません。1年ぐらいはバグだらけで使えないと予想します。

既存形式の書類を.keyxで保存し直すとレイアウトが壊れるとか、書き出した.keyxを読み込めないとか。ネイティブ形式よりもファイルサイズが大きくなるとか(さすがにZipで圧縮してあるとは思います)。

.keyxで様子を見て、バグがこなれたころに.pagesxとか.numbersxのように範囲を広げていくつもりなんでしょう。

新しいバージョンが出てきたら、「.key」形式の書類を「.keyx」に書き出して(そのぐらいのAppleScript用語辞書の修正はする……と期待したいです)、PDFに書き出して書類間の差分を検証して、違いが発生した場所を指摘するAppleScriptを書いてテストしたいところです。Appleが絶対にやらないことなので。

Posted in news | Tagged Apple Creator Studio Keynote Creator Studio Numbers Creator Studio Pages Creator Studio | Leave a comment

ignoring時の超高速化にともなう処理内容の信頼性低下のその後 part 2

Posted on 2月 4 by Takaaki Naganoya

Numbersの選択中の範囲のセルに対して連続値で数値書き込みするAppleScriptにおいて、非同期実行モードでも勝手に処理を打ち切る、という不具合の改修がNumbers Creator Studio v15.1+macOS 26.3betaで行われていることを確認しました。

その話の補足です。

自分のテスト環境(MacBook Air M2 16GB)において、10万セル(10000行x10列)選択してselection rangeを取得する処理を行なったところ、

のように、エラー-1741のエラーになりました。これが、

(1)selection/selection rangeというコマンド自体の仕様限界
(2)Numbersがselectionを取得する際の限界

なのかは不明ですが、10万セルだと無理であることを確認しました。

結局、エラーが出ない範囲を探ってみたところ「7万310」セルの選択取得とシーケンシャル値で埋める処理は実行できました。7万320セルだとエラーになります。

アプリの内部処理的に問題がある場合にはエラーを返してくれたほうがよいので、これはこの動作で問題ないと考えます。アプリ側の処理的に上限はあるということでよいでしょう。

Posted in Bug | Tagged 15.0savvy 26.0savvy Numbers Numbers Creator Studio | Leave a comment

ignoring時の超高速化にともなう処理内容の信頼性低下のその後

Posted on 2月 4 by Takaaki Naganoya

重要な内容なのですが、話が入り組んでいるので、順に説明します。

AppleScriptの非同期実行モード

AppleScriptでアプリケーションを操作する場合には、コマンド発行、アプリ側の処理待ち、処理結果を返す、という動作が行われます。いわゆる同期実行で行われます。

一方で、処理内容の結果はいらないからコマンド実行だけ高速に行わせてくれという「非同期実行」モードもAppleScriptの登場初期から用意されており、これがignoring application responses〜end ignoring節です。

shell scriptやCocoa呼び出しでは意味がありませんが、macOS上のGUIアプリを操作する場合には、非同期実行で行えばおおよそ半分以下の処理時間で済みます。

非同期実行モードは、書類上に大量のオブジェクトを作成するような操作を行うときに便利で、事前に何度も確認を行なっておいて、まあ多分大丈夫でしょう、という確信が持てた場合に、処理速度向上のために部分的に導入しています。

処理結果を取得したいとか、確実に終了したことを確認したい場合には使用できませんが、それでも導入できる「部分もある」のです。

Numbers v14.x+macOS 15.xの組み合わせで起こる 問題現象

この非同期実行が、Numbers v14.xとmacOS 15.xの組み合わせで実行したときに問題現象を起こしています。

電子書籍「AppleScript最新リファレンス v2.8対応」でも詳しく言及しているのですが、この環境で非同期実行を行うと、腰が抜けるほど高速な反面、処理が完結しない(勝手に途中で処理を打ち切ってしまう)という問題動作が見られました。

つまり、処理速度を重視してignoringで非同期実行すると、勝手に途中で処理が打ち切られます。Numbers上で5万個のセルを選択して、非同期実行モードで連続値で埋めるというAppleScriptを実行すると、2〜3万セルぐらいで処理が中断されます(macOS 15.7.4+Numbers 14.5で28880セルで打ち切り)。

知っていて使う分には「1万セルずつ処理しようか?」という話にはなるのですが、知らずに処理して「セルが埋まっていなかった」だとダメージが大きすぎです。

非同期実行モードの処理速度が異様に速くなっていたので、「どうせ何か副作用があるんだろう」と思って検証してみたら、予想通りこのトンでもない欠陥が見つかったというわけです(Appleのエンジニアにありがち)。詳細にバグレポートし、動向を見守ることにしました。

Numbers Creator Studio v15.1で修正

このNumbersのヤバい動作が新たな「Numbers Creator Studio」(v15.1)でどうなっているのか、macOS 26.3β環境で確認してみたところ、なんと修正されていました。うれしい誤算です。

Screenshot

5万セル選択してテストAppleScriptを実行すると、5万セルがきちんと連続値で埋められていました。

処理時間は以前よりもかかるようになったのですが、それでも「勝手に放り出さなくなった」というのは大いに評価できます。

これが、10万セルだとどうなのかとか、macOS 15.7.4+Numbers Creator Studio v15.1の組み合わせで問題はないのかとか、少々気になるところではありますが、その点は未検証であるということを明記しておきます。興味がある方はお試しください。

Posted in Bug | Tagged 15.0savvy 26.0savvy Numbers Numbers Creator Studio | Leave a comment

電子書籍(PDF)をオンラインストアで販売中!

Google Search

Popular posts

  • 最初期に書かれた書籍「AppleScript道入門」の序文をいま振り返る
  • Apple Creator Studioに含まれるKeynote/Pages/Numbersは新バージョン?
  • 簡易カラーチャート画像の出力 v2.1
  • macOS 15.7.2 スクリプトメニューから実行できなくなった地図系ライブラリ?
  • ASCII ART QR Encoder
  • 「AppleScriptセキュリティ実践ガイド」を発売
  • Keynote->Keynote Creator Studio(以下同様)
  • 翻訳テスト
  • Finder上で選択中のHEIC画像から位置情報を削除_v5
  • FSFindFolder failed with error=-43
  • YouTubeムービー再生実験
  • 2025年に書いた価値あるAppleScript
  • 関数計算ライブラリで一部のユーザーから再現しない問題が報告される件
  • ワークスペース切り替えv2.1
  • YouTubeムービー再生実験 v2c
  • macOS 26.xのSystem Events/Screen Saver preferencesにバグ
  • macOS 26.1が登場。Finderのバグが直らない?
  • 住所ジオコーダー2026年最新版
  • タブでインデントしたテキストをOutLineViewで表示できるデータ形式に変換 v4(3階層対応)
  • 指定日が所属する週のうち、最終日の日付を求める v2

Tags

10.11savvy (1101) 10.12savvy (1242) 10.13savvy (1391) 10.14savvy (587) 10.15savvy (440) 11.0savvy (283) 12.0savvy (212) 13.0savvy (204) 14.0savvy (159) 15.0savvy (173) 26.0savvy (53) CotEditor (68) Finder (53) Keynote (123) NSAlert (61) NSArray (51) NSBitmapImageRep (20) NSBundle (20) NSButton (34) NSColor (53) NSDictionary (28) NSFileManager (23) NSFont (21) NSImage (41) NSJSONSerialization (21) NSMutableArray (63) NSMutableDictionary (22) NSPredicate (36) NSRunningApplication (56) NSScreen (30) NSScrollView (22) NSString (119) NSURL (98) NSURLRequest (23) NSUTF8StringEncoding (30) NSView (33) NSWorkspace (20) Numbers (80) Pages (58) Safari (45) Script Editor (28) WKUserContentController (21) WKUserScript (20) WKWebView (23) WKWebViewConfiguration (22)

カテゴリー

  • 2D Bin Packing
  • 3D
  • AirDrop
  • AirPlay
  • Animation
  • Apple Inteligence
  • AppleScript Application on Xcode
  • Beginner
  • Benchmark
  • beta
  • Bluetooth
  • Books
  • boolean
  • bounds
  • Bug
  • Calendar
  • call by reference
  • check sum
  • Clipboard
  • Cocoa-AppleScript Applet
  • Code Sign
  • Color
  • Custom Class
  • date
  • dialog
  • diff
  • drive
  • Droplet
  • exif
  • file
  • File path
  • filter
  • folder
  • Font
  • Font
  • GAME
  • geolocation
  • GUI
  • GUI Scripting
  • Hex
  • History
  • How To
  • iCloud
  • Icon
  • Image
  • Input Method
  • Internet
  • iOS App
  • JavaScript
  • JSON
  • JXA
  • Keychain
  • Keychain
  • Language
  • Library
  • list
  • Locale
  • Localize
  • Machine Learning
  • Map
  • Markdown
  • Menu
  • Metadata
  • MIDI
  • MIME
  • Natural Language Processing
  • Network
  • news
  • Newt On Project
  • NFC
  • Noification
  • Notarization
  • Number
  • Object control
  • OCR
  • OSA
  • parallel processing
  • PDF
  • Peripheral
  • process
  • PRODUCTS
  • QR Code
  • Raw AppleEvent Code
  • Record
  • rectangle
  • recursive call
  • regexp
  • Release
  • Remote Control
  • Require Control-Command-R to run
  • REST API
  • Review
  • RTF
  • Sandbox
  • Screen Saver
  • Script Libraries
  • Scripting Additions
  • sdef
  • search
  • Security
  • selection
  • shell script
  • Shortcuts Workflow
  • Sort
  • Sound
  • Spaces
  • Spellchecker
  • Spotlight
  • SVG
  • Swift
  • System
  • Tag
  • Telephony
  • Text
  • Text to Speech
  • timezone
  • Tools
  • Update
  • URL
  • UTI
  • Web Contents Control
  • WiFi
  • XML
  • XML-RPC
  • イベント(Event)
  • 未分類

アーカイブ

  • 2026年10月
  • 2026年9月
  • 2026年8月
  • 2026年7月
  • 2026年6月
  • 2026年5月
  • 2026年3月
  • 2026年2月
  • 2026年1月
  • 2025年12月
  • 2025年11月
  • 2025年10月
  • 2025年9月
  • 2025年8月
  • 2025年7月
  • 2025年6月
  • 2025年5月
  • 2025年4月
  • 2025年3月
  • 2025年2月
  • 2025年1月
  • 2024年12月
  • 2024年11月
  • 2024年10月
  • 2024年9月
  • 2024年8月
  • 2024年7月
  • 2024年6月
  • 2024年5月
  • 2024年4月
  • 2024年3月
  • 2024年2月
  • 2024年1月
  • 2023年12月
  • 2023年11月
  • 2023年10月
  • 2023年9月
  • 2023年8月
  • 2023年7月
  • 2023年6月
  • 2023年5月
  • 2023年4月
  • 2023年3月
  • 2023年2月
  • 2023年1月
  • 2022年12月
  • 2022年11月
  • 2022年10月
  • 2022年9月
  • 2022年8月
  • 2022年7月
  • 2022年6月
  • 2022年5月
  • 2022年4月
  • 2022年3月
  • 2022年2月
  • 2022年1月
  • 2021年12月
  • 2021年11月
  • 2021年10月
  • 2021年9月
  • 2021年8月
  • 2021年7月
  • 2021年6月
  • 2021年5月
  • 2021年4月
  • 2021年3月
  • 2021年2月
  • 2021年1月
  • 2020年12月
  • 2020年11月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年7月
  • 2020年6月
  • 2020年5月
  • 2020年4月
  • 2020年3月
  • 2020年2月
  • 2020年1月
  • 2019年12月
  • 2019年11月
  • 2019年10月
  • 2019年9月
  • 2019年8月
  • 2019年7月
  • 2019年6月
  • 2019年5月
  • 2019年4月
  • 2019年3月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年11月
  • 2018年10月
  • 2018年9月
  • 2018年8月
  • 2018年7月
  • 2018年6月
  • 2018年5月
  • 2018年4月
  • 2018年3月
  • 2018年2月

https://piyomarusoft.booth.pm/items/301502

メタ情報

  • ログイン
  • 投稿フィード
  • コメントフィード
  • WordPress.org

Forum Posts

  • 人気のトピック
  • 返信がないトピック

メタ情報

  • ログイン
  • 投稿フィード
  • コメントフィード
  • WordPress.org
Proudly powered by WordPress
Theme: Flint by Star Verte LLC