87
最新のiWorkアップデートはAppleScriptのもう一つの勝利

昨年末、AppleはiWorkアプリ(Keynote、Numbers、Pages)のMac版を簡素化してリリースした後、批判的な報道を巻き起こしました。使いやすさ、一貫性、そしてiCloudサポートに重点を置き、根本から書き直されたこれらのアプリは、Macユーザーが使い慣れている多くの便利な生産性向上機能が欠けていました。大きな欠点の一つはAppleScriptのサポートが大幅に削減されたことで、iWorkベースのオフィスワークフローを自動化しようとする人にとっては大きな問題でした。

しかし、Appleは高まる懸念に迅速に対応し、不足している機能を認め、iWorkの今後のアップデートでそれらの多くを復活させることを約束しました。約束された機能強化には、KeynoteとNumbersにおけるAppleScriptの改善が含まれていました(興味深いことに、PagesにおけるAppleScriptの改善はリストに含まれていませんでした)。

これらの機能強化が実現するかどうか懐疑的な声もありましたが、なんと1月、Appleは約束を果たし始めました。一見するとマイナーアップデートに思えたNumbersで、Numbers '09のAppleScript用語集のほぼ全てが再導入されました。このアップデートにより、多くの既存のNumbersスクリプトが正常に動作するようになり、新しいスクリプトの作成も可能になりました。このリリースは正しい方向への歓迎すべき一歩でしたが、特にKeynoteとPagesでは、まだやるべきことが残っていました。今週、Appleが再び期待に応えてくれたことを嬉しく思います。今回は、iWorkアプリ全体でAppleScriptの大幅な改善が行われました。

AppleScriptページ

Pages 用の新しく強化された AppleScript 辞書。

Numbersと同様に、Keynoteにもスクリプト用語の互換性スイートが追加され、以前のスクリプトサポートの多くが復活しました。これにより、既存のKeynoteスクリプトの一部が再び使えるようになる可能性がありますが、多少の調整が必要になる可能性があります。Keynoteには、より優れた書き出しオプションや、トランジションやプレゼンターノートといった豊富なスライド属性へのアクセスなど、様々な新しいスクリプト機能も追加されています。このリリースでは、Keynoteプレゼンテーション全体を一から作成するスクリプトの作成、スライドの操作、スライドショーの自動再生と制御、プレゼンテーションをムービーに変換するスクリプトの作成など、様々な機能を実現できます。

Pagesの機能強化により、アプリケーションテンプレートやユーザーテンプレートに基づいて新規ドキュメントを作成したり、テキストの検索と置換(差し込み印刷など)、コンテンツの追加と操作、さらにはドキュメントを暗号化されたPDFとして書き出すスクリプトを作成できるようになりました。PagesにはKeynoteやNumbersのような互換性スイートが含まれていません。これは、全体的な機能が大幅に変更されたため、互換性スイートが適用できなくなったためと考えられます。そのため、既存のPagesスクリプトがある場合は、再度動作させるには多少の修正が必要になる可能性が高いでしょう。

AppleScriptエクスポート

Pages の新しい AppleScript 辞書には、エクスポート コマンドがサポートするファイル形式と拡張子を説明する HTML 形式のテキストが含まれています。

Even Numbers には、前回のアップデートで追加された機能に加え、スクリプトに関するいくつかの変更が含まれています。テンプレートベースのドキュメントの作成、さまざまなファイル形式でのエクスポート、表、グラフ、その他の要素をより幅広く操作できるようになりました。

しかし、最も嬉しいニュースは、Keynote、Numbers、Pages のすべてでまったく新しいテキストおよび iWork の用語スイートが導入され、テキストや、グラフ、画像、表、線、配置されたオーディオ ファイルなどの一般的な要素を操作できるようになったことです。

特に興味深いのは、これらのスイートがアプリ間で一貫していることです。言い換えれば、すべてのアプリが特定の機能を共通に持っているため、それらの機能をスクリプト化するために全く同じ AppleScript 用語が使用されます。これは非常に大きなことです。つまり、Numbers で表やグラフを作成するスクリプトを作成する場合、コード内のアプリ名を Keynote に変更するだけで、スクリプトが Keynote で「そのまま機能」するはずです。画像を追加したり、テキストの一部を置き換えたり、ドキュメント内のすべてのムービーの音量を変更したりしたいですか? 作成するコードは、対象とするアプリに関係なく、これらのタスクのいずれでも同じです。もちろん、アプリ固有の機能には、独自のカスタム非共有用語がまだあります。たとえば、Pages には、Keynote スライドの操作やプレゼンテーションモードに入るための用語はありません。

Appleが共有スクリプティング実装で採用しているユニバーサルなアプローチは実に素晴らしいものです。iWorkアプリの自動化方法の習得が容易になり、よりモジュール化され再利用性の高いコードの作成が可能になります。実装は決して容易ではなかったでしょう。AppleのiWork開発チームは、これを成し遂げたことで大きな称賛に値します。iWorkアプリはおそらく複数の開発者によって開発されており、このレベルでの一貫性を実現するには、綿密な連携、計画、そして細部への配慮が不可欠だったに違いありません。より多くの開発者がこのようなスクリプト言語の一貫性を採用してくれることを期待しています。

iWorkのAppleScript辞書自体も、新しい用語の表示以外にも、いくつか便利な改善が行われました。HTMLベースのフォーマットされたヘルプコンテンツとサンプルコードスニペットが追加されました。現時点ではこれらの機能の実装は非常に限定的ですが、今後のリリースでさらに充実していくことを期待しています。難解なAppleScript辞書の解読に苦労したことがある方なら、きっとこの可能性にワクワクするでしょう。

AppleScriptの基調講演

Keynote の AppleScript 辞書には、特定のテーマを使用して新しいドキュメントを作成するなどのタスクのサンプル スクリプトが含まれるようになりました。

この最新のAppleScript強化はiWorkを常に前進させていますが、それでもまだ改善の余地があります。具体的には、テキストの配置、線の作成、図形の背景塗りつぶしの調整は現時点ではサポートされていません。とはいえ、このリリースは将来に向けた堅牢なAppleScriptサポートの確固たる基盤を築くものです。今のところ、私はAppleScriptのこの新たな勝利を祝っており、今後の展開が待ち遠しいです。

多数の優れたサンプル スクリプトを含む、iWork の AppleScript サポートに関する詳細なドキュメントについては、iWork 自動化 Web サイトをご覧ください。