18
AppleScriptの使い方入門:AppleScriptチュートリアル

AppleScriptはOS Xのシンプルなスクリプト言語で、1つまたは複数のアプリケーションに関わる繰り返し操作を自動化できます。どれだけの時間を節約できるか想像してみてください!そして、退屈な作業からどれだけ解放されるか!

AppleScriptはイベントによって起動されます。イベントは、アプリケーションからの出力、フォルダへのファイルの配置、デスクトップ上のドロップレットへのファイルのドロップなど、さまざまな形式で実行されます。

AppleScriptは、OS Xの自動ワークフロー作成ツールであるAutomatorからも実行できます。この場合、Automatorにスクリプトの実行を指示する項目をワークフローに追加し、その項目のテキストボックスにスクリプトを入力します。

それで何ができるのでしょうか?

AppleScriptは、基本的なレベルではどのアプリケーションでも使用できます。ただし、アプリケーションをAppleScriptで完全に制御するには、アプリケーション側がAppleScriptを明示的にサポートし、スクリプトがアプリケーション内で操作を実行するために使用できるコマンドの「辞書」を提供する必要があります。

これらの辞書の重要性を示す例は、2013年後半にAppleがiWorkアプリを完全に書き換えたバージョンをリリースした際に見られました。残念ながら、書き換えられたアプリのAppleScript辞書は以前のバージョンよりもはるかに小さく、スクリプトによるアプリケーション制御方法が大幅に制限されていました。幸いなことに、この問題は数ヶ月以内に解決され、以前のバージョンのiWorkアプリのAppleScript用語はすべて新しいバージョンに追加されました。

AppleScriptエディタの使い方

スクリプトエディタを使用して AppleScript を編集します。

AppleScript は、Mac のユーティリティ フォルダにあるアプリ、スクリプト エディタで作成されます。

AppleScriptエディタでスクリプトを作成するには2つの方法があります。AppleScript対応アプリを使ってMacで実行したアクションを記録するか、最初からスクリプトを作成するかです。

スクリプトの記録の仕組みを理解するには、スクリプトエディタを起動し、「新規書類」を選択します。ツールバーの「記録」ボタンをクリックします。次に、デスクトップをクリックし、Cmd+Shift+N キーを押して新しいフォルダを作成し、名前を付けます(例:「My New Folder」)。停止ボタンを押すと、記録が終了します。スクリプトウィンドウに、記録したイベントを記述したスクリプトが表示されます。これで、最初のAppleScriptが作成できました。

ただし、AppleScript で何かを行う前に、コンパイルする必要があります。AppleScript をコンパイルすると、構文がチェックされ、スクリプトが使用できる状態になります。スクリプトが正常にコンパイルされると、テキストが色分けされ、読みやすくなります。コンパイルに失敗した場合は、AppleScript エディタにエラーが表示されるので、戻ってどこが間違っていたかを確認する必要があります。コンパイルボタン(ハンマーのアイコンが表示されているボタン)を押して保存してください。

簡単でしょう?残念ながら、AppleScript対応のアプリケーションすべてがレコーディングをサポートしているわけではなく、すべてのアクションを記録できないものもあります。アプリがレコーディング可能かどうか、そして何を記録できるかを知る唯一の方法は、実際に試してみることだけです。

メールはAppleScript経由でのやり取りが可能

ApplScriptスクリプトを自分で書く

より良い解決策は、スクリプトを自分で書くことです。ありがたいことに、AppleScriptの構文の基本を学んでしまえば、それほど難しくはありません。

AppleScriptで最初に行う必要があるのは、使用するアプリケーションを「伝える」ことです。ほとんどのAppleScriptコマンドと同様に、これは「tell」ブロック内で実行できます。上記の「My New Folder」を作成するスクリプトの例では、次のように記述します。

アプリケーション「Finder」に伝える

AppleScriptのコマンドは、可能な限り平易な英語で書かれているため、比較的読みやすく書きやすいです。しかし、いくつかのルールを守らないとスクリプトがコンパイルされません。その一つが、すべての「tell」ブロックは「end tell」で終わる必要があるということです。

したがって、デスクトップに「My New Folder」という新しいフォルダーを作成する例の完全なスクリプトは次のようになります。

アプリケーション「Finder」に、     プロパティ{name:”My New Folder”}でデスクトップに新しいフォルダを作成するよう 指示します。

makeコマンドはファイルやエイリアスの作成にも使用できます。また、「desktop」と「My New Folder」を任意の名前に変更することで、フォルダの場所と名前を変更できます。

AppleScriptの変数

AppleScriptの変数の役割は、他のスクリプト言語やプログラミング言語と同じです。つまり、変数はデータを保存し、後で呼び出します。データはコード内で指定することも、計算結果やユーザー入力の値にすることもできます。つまり、先ほどのフォルダの例では、フォルダの名前と場所を表す変数を次のように宣言できます。

フォルダ名を「My New Folder」に設定し、 フォルダの場所をデスクトップに設定します

変数を宣言した後、次のようなスクリプトを記述します。

tell application “Finder”     create new folder with properties {name:folderName, location:folderLocation} end tell

この例では、変数を宣言して使用しても意味がありません。変数は一度しか使用されないため、作成にかかる労力がメリットを上回ってしまうからです。しかし、同じデータを複数回使用する必要がある場合、最初に変数を宣言しておけば、この例のようにファイル名またはファイルの場所を変更する場合でも、変数ごとに1行のコードを変更するだけで済み、変数のすべてのインスタンスを変更する必要はありません。また、スクリプトで以前の計算やユーザー操作の出力を取得するセクションでは、変数の使用が不可欠です。

AppleScriptでスクリプトを整理する

多数のアプリケーションにAppleScript辞書がある

数行以上のスクリプトを書き始めると、コードを説明付きのセクションに整理すると、バグの発見やセクションの編集がはるかに簡単になることがわかります。これらの説明は「コメント」と呼ばれます。AppleScriptにコメントを追加するには、ダッシュ2つに続けて説明を入力し、さらにダッシュ2つを入力します。コードをコンパイルすると、コメントは灰色になり、スクリプトの実行時には無視されます。必要に応じて、コメントを使用してコードの一部が実行されないようにすることができます。バグを見つけたい場合は、コードを削除して後で再挿入するよりも、コメントを使用する方が効率的です。

AppleScriptは非常に強力で、想像するほど習得は難しくありません。この簡単な紹介で興味が湧いたら、AppleScriptエディタを起動し、「ファイル」メニューから「辞書を開く」を選択して、MacでAppleScript辞書が利用可能なアプリケーションの一覧を確認してください。その後、AppleのAppleScript開発者向けリソースにアクセスして、使い方を学んでください。

さらに次のものも:

楽しいターミナルプロジェクト10選

Macでターミナルを使う方法

WindowsベースのネットワークでMacを管理する

Macの裏技:Macでできること10選