AppleScriptってなに?

AppleScriptを始めよう!

 いま、あなたは分かれ道の手前に立っています。1つは「Macを使う道」で、もう1つは「Macに使われる道」です。

 Macを使いこなしていると思っているユーザーでも、実はFinderや市販のアプリケーションなどを使って(使われて)作業していることが多いのです。
 しかしAppleScriptを学べば、自分で作ったスクリプトでMacやアプリケーションを自在に操れます。単純作業の繰り返しなどは、ユーザーの手を煩わさずMacに自動で処理させることできるのです。
 そしてなによりも、自分で作った物(スクリプト)がMac上で動くという喜びを得られるのが、AppleScriptです。
 最初は趣味の1つとして、気楽に始めてみてはいかがでしょうか。

AppleScriptってなに?

 AppleScriptは、マウスやキーボードを使わずに、Macを操作する方法です。すなわち「AppleScriptはメイドのようなもの」と言ってもいいでしょう。
 しかも、人間のように疲れたり眠ったりしませんし、お金もかかりません。
 命令違反もせずに、本当のメイドよりずっと速く正確に仕事をこなしますから、実に優秀です。

 AppleScriptは、スクリプトと呼ばれる文章を記述してMacにさまざまな操作をさせます。
 スクリプトとは直訳すると台本という意味で、台本=スクリプトはプログラムの一種です。
 プログラムというと難解なイメージがありますが、AppleScriptは数あるプログラミング言語の中では最も簡単なものの1つです。
 AppleScriptは中学程度の英語力で理解できる簡単な英語で記述しますので、プログラムっぽい無機質な印象があまりないのが特徴です。

 ただし、いくら簡単と言われるAppleScriptでも、約束事に従わないとうまく動きません。
 スクリプトが動かなかったり、本書で説明する約束事が理解できなかったとしても最初は当然です。
 今は分からなくても、本書を読み進めていき知識や経験を積めば、いずれ理解できるでしょう。

AppleScriptの特徴

 AppleScriptは、他のプログラム言語では何千何万行ものプログラムコードが必要な処理を、数行で行える点が特徴です。
 これは、AppleScriptがアプリケーションに操作を指示するだけで、実際のほとんどの処理は操作される側のアプリケーションが行うからです。
 ただしAppleScriptを使ってアプリケーションを処理する場合、操作される側のアプリケーションがAppleScriptに対応している必要があります。
 スクリプトで操作できるアプリケーションは、スクリプト対応(Scriptable)アプリケーションと言います。

 AppleScriptは OS X に付属するため、別個に購入する必要がありません。
 逆にいうと、OS X にはAppleScriptの価格が含まれているので、使わずに放っておくのはあまりにもったいない。

 そして、以前は遅くて実用にならないといわれていた動作も、ちゃんと実行されたか不安になるくらい速くなり、完全に実用速度となっています。
 さらに、Automator(注1)というマウスのドラッグ&ドロップ操作で自働化が可能なアプリケーションもあり、そちらからMacの自働化を始めることもできます。

 このように、Macの自働化は入門しやすく、利用も簡単で実用的になものなのです。

バージョンについて

 AppleScriptのバージョンは、「スクリプトエディタ」の[スクリプトエディタについて]を見る事で確認できます(注1)。

 AppleScriptにはさまざまなバージョンがありますが、本書ではOS X10.10(Yosemite)に付属するAppleScript 2.4を使って解説します。
 バージョンによって約束事が異なる場合は、欄外に解説を加えます。
 なお、本書ではクラシック環境も含めた旧 Mac OS のAppleScriptについては解説はしません。

 AppleScriptの基本となる部分は、全てのバージョンにおいて共通です。
 細かい部分では差異があって、スクリプトが動作しないことがあるかもしれません。
 動かなくても、あまりこだわらずに先に読み進めることをお勧めします。

参考資料はどこに

 インターネットを検索すると、色々とAppleScriptに関する情報が見つかると思いますし、おそらくこのサイトも検索で見つけられたことと思います。
 今後このサイトでもできるだけ情報を公開していこうと思っていますが、他のサイトもどんどん活用していきましょう。

インターネット

 まず、考えられるのはApple本家のサイトです。
 わりと頻繁に位置が変更されるので、リンク切れしているかもしれませんが、ご了承下さい。

 準本家のサイトとして以下のものがあり、AppleScriptの他にもAutomatorなどMacの自働化全般の話題が書かれています。

 日本語の掲示板だと、2ちゃんねるが一番盛んかもしれません。
 Appleのサイトにも日本語の掲示板が用意されています。
 英語の掲示板が断然量が多いので、発言はせず検索して表示されたスクリプトを調べる、という程度の使い方でも役に立ちます。

Macの中の資料

 OS標準のヘルプの中にAppleScriptに関する項目があります。
 OS XにDeveloper Tools(XCode)をインストールしている場合は、開発者用のドキュメントもインストールされます。
 ですが、基本的にインターネットにある情報と同じですし、ヘルプビューアは遅いですし、あまり見ることもないと思います。

書籍

 一時期、書籍がわっと出ましたが、2014年現在では新しい書籍は、ほぼ出版されていません。
 そもそも「プログラミング言語の本を紙で出す時代は終わった」というだけな気もします。

様々なサイト

 日本語だと、一番情報が多いのが、個人で書かれているサイトの記事です。
 ここで紹介したサイトは情報量も多く、個人的にもよく読んでいます。
 もちろん、知りたい単語で検索するのもいいでしょう。

 かなりマニアックな情報も多いので、入門段階では現在読んでいるこのページを、このまま読み進めていただくのが良いかと思います。

いよいよ、初スクリプト

 では、スクリプトを記述してみましょう。
 Spotlight(メニュー右の虫眼鏡アイコン)に「エディタ」と入力する(注1)と「スクリプトエディタ」が検索結果に現れるので、選択して起動します。
スクリプトエディタ
 これから頻繁に使う事になるので、Dockに登録しておくといいでしょう。
 AppleScriptを編集するアプリケーションは、バージョン毎に名前が変わって面倒くさい(注2)ので、以後単に「エディタ」と記述します。

 「システム環境設定」の[キーボード]-[入力ソース]で、["¥"キーで入力する文字]を[\バックスラッシュ]にしておくと、これからスクリプトを書く際には、何かと便利です。

 エディタのウィンドウに戻り、下部にあるスクリプト入力欄に、キーボードから次のように入力します。
beep

 [▶︎]ボタンをクリックして警告音が鳴れば成功です。
 次に[ファイル]-[新規スクリプト]を選択して新しいウィンドウに、次のように入力して実行してみましょう(注3)。

display dialog "AppleScript はじめました!"

 画面中央にダイアログが現れ「Welcom to AppleScript」と表示されるはずです。
 [実行]ボタンを押してエラーが発生した場合は、慌てない騒がない。
 一度エラーダイアログを閉じて、さきほど入力したスクリプト(文字列)にスペルミスがないかどうか確認して、再度実行しましょう。
 各単語の間に全角の空白を使うとエラーになります。
 空白は目に見えないだけにAppleScriptに慣れたユーザーでもなかなか気付かないことがありますから注意してください。
 またアルファベットも全て半角で入力します。

 では、さきほどのスクリプトを、次のように変更してみましょう。

display dialog (current date) as string

 [▶]ボタンを押すと、デスクトップの中央に現在の時刻を表示するダイアログが現れます。
 このスクリプトも簡単な英語です。
 現在時刻を取り出す命令の「current date」に「as string」と付けて、「現在時刻を文字列にする」という意味です。
 全体では「ダイアログを呼び出して、そこに文字列として現在時刻を表示」となります。
 今後頻繁に使いますから、ダイアログに何か表示させたいなら、「display dialog〜」と覚えておきましょう。

 スクリプトを打っている時に、入力の後ろに...がついたことに気づいたかもしれません。
 その時に[F5]キーを押すとAppleScriptで使われる単語が候補に表示されるので(注4)、カーソルキーで選択してreturnキーで確定して入力できます。
 [F5]に続けて文字の入力を続けると、候補が絞り込まれていきます。
 スペルミスを減らすためにも、このコード補完機能を活用しましょう。

アプリケーションも使ってみる

 今度は、AppleScriptを使ってインターネットへ接続します。
 これも非常に簡単です。「新規スクリプト」の入力欄に、次のように入力するだけ。

open location "http://tonbi.jp/"

 [実行]ボタンを押すと、「システム環境設定」で設定しているブラウザを使って、鳶嶋工房のトップページに接続されます(注1)。

 今度は、AppleScriptでFinderを操作します。[ファイル]-[新規スクリプト]を選択して、次のようにと入力して[実行]ボタンを押してみましょう。

tell application "Finder" to open startup disk

 起動ディスクが開きます。tell application Finderは、「Finderにお伺いを立てる」という命令です。そして「to」以下にお願いする処理内容を書きます。
 では、今度は次のようにスクリプトを書き換えてみましょう。

tell application "Mail" to run

「メール」(注2)が起動します。このようにtell applicationは、アプリケーションを呼び出して、処理を実行させる際に必要な命令です。
 ちなみに「メール」をAppleScriptを使って終了させるには、次のように書けばOKです。

tell application "Mail" to quit

操作を記録してみよう

 AppleScriptは、エディタにスクリプトを入力するだけでなく、ユーザーが行った操作を記録して、何度も再生できます。
 操作を記録できるアプリケーションを「記録可能(recordable)アプリケーション」といいます。
 OS X10.10では「Finder」が記録機能に対応しています(注1)。

 では、操作をスクリプトに記録してみましょう。
 エディタの[記録]ボタンを押してから、適当な記録可能アプリケーションのウィンドウをデスクトップのあちこち動かして、最後にフォルダを閉じてみましょう。
 ここで[停止]ボタンを押し、最後に[実行]ボタンを押します。
 [実行]ボタンを押してもなにも起こらなかった場合は、[構文確認]ボタンを押してから、再度実行すれば動作する場合があります。

 残念ながら、記録可能アプリケーションはほとんどありません。
 また、操作を記録する直前の状態と記録した内容を再生する直前の状態が異なるとスクリプトが動かないこともあります。
 さらに、操作のすべてが記録される訳でもありませんし、記録したスクリプトが間違っている事さえあります。

 このように問題の多い記録機能ですが、普段の操作の内容がスクリプトとして記録できるので、AppleScriptの約束事を簡単に学ぶことができます。
 まずは「Finder」の操作を記録してスクリプトに慣れましょう。

スクリプトを保存しよう

 先ほど操作を記録したスクリプトをエディタのメニューから[ファイル]-[保存...]を選んで、ハードディスクに記録しましょう。
 保存ダイアログでは、スクリプト、スクリプトバンドル、アプリケーション(注1)、テキスト——の4種類の形式を選択できます。
 ひな形オプション...は、保存したファイルをひな形にするかどうかを選択できます。
 エディタの「このスクリプトについて」欄は、保存したスクリプトの起動画面のメッセージになります。

[スクリプト]
 スクリプトを後で編集できる形式で保存します。このファイルはエディタで開けます。
 アプリケーションにAppleScriptを組み込む場合によく使われる形式で、拡張子は.scptです。
[スクリプトバンドル]
 フォルダのように内部にいくつもファイルを持てるバンドル形式で、拡張子は.scptdです。
 それ以外は[スクリプト]と同じです。
[アプリケーション]

 ダブルクリックなどで起動して、スクリプトを実行する形式です。これもバンドルで、拡張子は.appです。

 保存時に[初期画面を表示]と[ハンドラの実行後に終了しない]という2つ(注2)のチェックボックスが表示されます。

[初期画面を表示]
チェックすると、起動メッセージを表示して実行します。
[ハンドラの実行後に終了しない]
スクリプトを実行したあとアプリケーションを終了させないという設定です。
通常はチェックする必要はありませんが、チェックした場合は、メニューの[ファイル]-[終了]でスクリプトを終了できます。

 アプリケーションとして保存したスクリプトを、アプレット(Applet)と呼びます。
 アプレットは、通常のアプリケーションと同様に起動できます。

[テキスト]
 スクリプトエディタ以外のエディタでも開けるテキストファイルとして保存する形式で、拡張子は.applescriptです。
保存時に構文の確認や翻訳(コンパイル)を行わないので、スクリプトが動作しない場合でも保存できます。

【今回のまとめ】

AppleScriptは、

  • コンピューターに操られないための道
  • キーボードやマウスと同様にMacを操作する方法の一つ
  • 中学程度の英語力で内容を理解できる

AppleScriptに関連する情報は、

  • インターネットで最新のものを入手できる
  • 書籍はあきらめて、これ読んでください

スクリプトは、

  • 各OSに付属するエディタで作成する
  • エディタの[記録]ボタンを使えば自動的に作成できる
  • 「アプリケーション」形式で保存すればダブルクリックで起動する