applescriptの使い方!OS操作を自動化しよう


Mac を使っていると、「同じ操作の組み合わせを毎回手作業で行うのは面倒くさい」とか、「決まったフォルダのなかファイルの情報など毎回 Finderで開いて確認するのは面倒だ」とか、操作を自動化したい機能が出てきますよね。

そんなちょっとした機能を、「ソフトのバージョンアップで機能追加してほしい・・・」とソフトメーカーに要望を出してもなかなか対応してもらえないものです。

ならば、AppleScript を使って、自分の力で実現してみませんか?

ということで今回は、AppleScript をはじめるにあたっての基礎知識をご紹介したいと思います。
※本文内容は Mac OS X 10.2.6 で動作確認しています。
   

applescript ってなに?

AppleScript とは、1993年に登場した System 7.1.1(Mac OS の旧名称)から搭載され続けている、Mac OS の操作などを自動化するシステムです。

他のOSでいうところの、スクリプトやマクロと異なるのは、システム全体で統合されている割合が高いという点で、アプリケーション固有の機能と、Mac OS が保有する機能を組み合わせて実行できるため、メッセージ表示やファイル選択などの機能をアプリケーション固有で実装する必要がなく、それぞれの動作を連係させることができます。

なにより、OSレベルで書き方が統一されているため、ひとつのアプリケーションで処理方法を学べば、他のアプリケーションでも応用が利くという利点もあります。
 

どうやれば使えるの?

まずは、サンプルを動かしてみましょう。Mac OS X であれば、Macintosh HD > ライブラリ > Scripts にいろんなAppleScriptのサンプルが入っています。このファイルをダブルクリックして、"スクリプトエディタ"(Mac OS 9.x では スクリプト編集プログラム) を起動し、実行や編集ができます。

書き方が分からない

最初は、サンプルの中から簡単な書式のものを参考に動作を確認してみましょう。どこでどういうことが起こって、どうなるのか?というのを見ていけばだいたいの雰囲気がつかめると思います。ファイルサイズが小さいものを選べば、簡単なスクリプトであるという確率が高いですね。
画像
※最初は、ファイルサイズが4KB くらいのものからはじめましょう
 

applescript 入門、機能の基本を知ろう!

Macintosh HD > ライブラリ > Scripts > Basics にある AppleScript Help.scpt を開いて、動作を確認してみましょう。このファイルをダブルクリックして開くと、「ヘルプビューア」と「スクリプトエディタ」が起動して、スクリプトエディタにより中身が確認できます。

まずは、実行アイコン()を押して実行してみましょう。すると、ヘルプビューアで AppleScript というキーワードを検索することができました。

この程度では、たいしたことのない機能ですが、これがAppleScriptの基本形です。中身を1行ずつ見てみましょう。

●1行目:「tell application "Help Viewer"」
「tell application "アプリケーション名" 」と宣言することで、そのアプリケーションに対して命令を送るよ!という命令になります。end tell で閉じるまでの間のコマンドはすべて tell application で指定されたアプリケーション、ここではヘルプビューア(Help Viewer)で処理されます。Mac OS X の場合、名前の指定はアプリケーションの英語名で行われます。
※ AppleScript ではテキストをコマンドと明確に区別するため "" で文字列を囲みます。

●2行目:「activate」
これは、tell application で対象となっているアプリケーションを一番前に移動するという命令です。Mac OS で動くすべてのアプリケーションで利用できます。

●3行目:「search looking for "AppleScript"」
これは、ヘルプビューアが持つ独自のコマンドです。「"AppleScript"というテキストで検索をする」という命令です。

●4行目:「end tell」
tell application ... と対になるよう命令の最後に必ずこの文字を入れます。

"アプリケーションに tell する”・・・これがAppleScriptの基本形です。

 

アプリケーションとapplescriptが対応していると

アプリケーションがAppleScript に対応していれば“用語辞書”という物をもっています。いま起動した ヘルプビューアをスクリプトエディタにドラッグ&ドロップしてみましょう。
  1. Dock 上にある ヘルプビューアを command + クリックします。すると、起動ディスク > システム > ライブラリ > CoreServices にある ヘルプビューア が選択されます。
  2. ヘルプビューアを スクリプトエディタ にドラッグ&ドロップします。command キーを押しながら操作するとやりやすいですよ。
どうですか?Help Viewer 用語説明が開きましたよね? こうやって“対象となるアプリケーションが持っている機能”を一覧することができます。また、tell application "" で書く英語の名前もこのウインドウのタイトル名で確認できます。

 

用語説明の内容は、残念ながら英語の説明になっているのですが、だいたいの雰囲気は感じていただけると思います。青い文字がコマンドまたは属性の名前で、赤文字はそれに当てはめるデータの種類になっています。左側の一覧で斜体文字になっているのがアプリケーションが持つ設定や属性の名前で、楷書になっているのがアプリケーションの機能を実行する命令です。

Mac OS 上のアプリケーションで AppleScript に対応しているもであれば、このようにスクリプトエディタにドロップしてやると用語説明が開きます。中にはAppleScript でしか実行できない機能とかもあるので、いろいろ覗いてみてみましょう。もちろん、いろいろ試行錯誤して動かしてみるのも楽しいですよ。

【関連記事】

※記事内容は執筆時点のものです。最新の内容をご確認ください。
※OSやアプリ、ソフトのバージョンによっては画面表示、操作方法が異なる可能性があります。