概要
AppleScriptとは、macOSに標準搭載されている、Mac上のアプリ操作を自動化するためのスクリプト機能です。
Finderでフォルダを開く、Mailで定型メールを作成する、Safariで特定のページを開く、対応アプリに処理を実行させる。こうしたMac上の操作を、スクリプトとして記述できます。
AppleScriptの特徴は、ファイルやコマンドだけでなく、GUIアプリに対して「この操作をして」と指示できることです。
CLIがターミナル上のコマンド操作を自動化する仕組みだとすれば、AppleScriptはFinder、Mail、Safariなど、Macのアプリ操作を自動化するための仕組みです。
古い技術というより、Mac上で人間が行っている操作を、再現可能な手順として残せる自動化手段と考えると分かりやすいです。
AppleScriptとは
AppleScriptは、macOSで使えるスクリプト言語です。
一般的なプログラミング言語が、計算処理やデータ処理を中心に扱うのに対して、AppleScriptはMac上のアプリケーション操作を自動化することに向いています。
たとえば、Finderにホームフォルダを開かせる場合は、次のように書けます。
tell application "Finder"
open home
end tell
AppleScriptでは、tell application という形で対象アプリを指定し、そのアプリが対応している操作を呼び出します。
この「アプリに指示する」構造が、AppleScriptの大きな特徴です。
CLIとの違い
CLIは、ターミナル上でコマンドを実行するための仕組みです。
ファイル一覧を表示する、ディレクトリを移動する、Gitを操作する、ビルドコマンドを実行する。こうした作業に向いています。
一方、AppleScriptは、GUIアプリの操作を自動化することに向いています。
- Finderでファイルを扱う
- Mailでメールを作る
- Safariでページを開く
- アプリ間で情報を受け渡す
CLIが「コマンド操作の自動化」だとすれば、AppleScriptは「Macアプリ操作の自動化」です。
どちらが上という話ではありません。扱う対象が違います。
何に使えるのか
AppleScriptは、Mac上で繰り返し行う作業を自動化したいときに使われます。
たとえば、次のような用途があります。
- Finderで特定フォルダを開く
- ファイル名をまとめて変更する
- Mailで定型メールを作成する
- Safariで決まったURLを開く
- 対応アプリの書類を開く
- アプリ間の操作をつなげる
特に分かりやすいのは、複数アプリをまたぐ作業です。
Finderでファイルを選び、別のアプリで開き、処理後に別フォルダへ移す。Safariでページを開き、その情報を別アプリに渡す。
こうした操作は、人間が手で行うと面倒ですが、AppleScriptで手順化できる場合があります。
ショートカットやAutomatorとの関係
Macには、AppleScript以外にも自動化の仕組みがあります。
ショートカットは、日常操作を比較的わかりやすく自動化するための機能です。iPhoneやiPadとの連携にも向いています。
Automatorは、Mac上の作業を部品の組み合わせで自動化するためのツールです。ファイル名変更、画像変換、PDF処理などで使われてきました。
AppleScriptは、対応アプリに対してより細かく指示したい場合に使われることがあります。
ショートカット:日常操作を手軽に自動化
Automator:Mac作業を部品の組み合わせで自動化
AppleScript:対応アプリの操作をスクリプトで制御
CLI:コマンドやファイル操作を自動化
実際には、これらを組み合わせることもできます。
AppleScriptからシェルコマンドを呼び出す。ショートカットの中でAppleScriptを使う。AutomatorにAppleScriptを組み込む。
Macの自動化では、ひとつの方法だけにこだわるより、作業内容に合わせて使い分ける方が現実的です。
注意点
AppleScriptは便利ですが、すべてのアプリを自由に操作できるわけではありません。
アプリによって、AppleScriptへの対応状況は異なります。細かく操作できるアプリもあれば、ほとんど操作できないアプリもあります。
また、AppleScriptには大きく分けて、アプリが正式に提供している操作を呼び出す方法と、画面上のUI操作に近い形で動かす方法があります。
後者は、アプリの画面構成やmacOSの更新によって動かなくなることがあります。そのため、業務で使う場合は、壊れやすい操作に依存しすぎないことも大切です。
AppleScriptの文法も独特です。英語に近い読みやすさがありますが、一般的なプログラミング言語に慣れている人には、少し不思議に感じるかもしれません。
AppleScriptは万能ツールではありません。Mac上のGUIアプリ操作を自動化するための選択肢のひとつです。
まとめ
AppleScriptとは、Macのアプリ操作を自動化するためのOS標準スクリプト機能です。
CLIがコマンド操作を自動化するように、AppleScriptはFinder、Mail、SafariなどのGUIアプリ操作を自動化します。
価値があるのは、人間が画面上で行っている操作を、再現可能な手順として残せることです。
ただし、アプリ側の対応状況によってできることは変わります。画面操作に依存する処理は、アプリやOSの更新で調整が必要になる場合もあります。
AppleScriptは、古いか新しいかではなく、Mac上のアプリ操作を自動化するための実用的な手段です。
