Top > おぼえたこと > AppleScript編

AppleScript基礎編1

はじめに

まずスクリプトって何かと言うと、「言語」なんて日本語で訳されますが、ここで言うスクリプトとは、コンピュータに命令を行うための言葉だと思って下さい。

Post Scriptなんかもプリンターを制御するための言語なんですが、Macを使っている人は、1度や2度はApple Scriptって名前を聞いた事があると思います。

Apple Scriptとは、Macintosh上で動いているアプリケーションを制御するための言語で、DTPアプリケーションや、Microsoft Officeなどをオートマチックに制御できる優れものだ。

みなさんのよく知っている「いととんぼ」なんかもApple Scriptで動作しているわけだが、ツケメン大王や貼魔王なんかも実際の動作部分はApple Scriptを利用しています。

「なんだ、プログラムを作るのか。」「難しそうだな。」っと思った方、正解です。

しかし、数行文字を書くだけで結構便利な事ができてしまう事も事実であり、これがMacintoshを使う人全てに、初めからタダで利用できてしまうのだからやってみない手はない!

これからのDTPは手作業でこつこつとなんて言うのは、素人の趣味と変わりない。プロならスクリプトで一気に処理ができなければね。

スクリプトはApple Scriptだけではありませんが、まずはとっても便利で取っ付き易いApple Scriptの勉強をして行きましょう。

●AppleScript

まずはじめにApple Scriptを利用するには、命令を指示する(命令文を書く)必要があるが、それを行うのが“スクリプト編集プログラム”(OS 9以前)だ。OS Xでは“スクリプトエディタ”と言う名前に変わっている。

また、動作も各OSで少しずつ違っており、必要な環境に合わせてプログラムしなければならない。

今回は、DTPのメイン環境であるOS 9での例を前提として進めて行きます。

はじめに「Appleエクストラ」フォルダの「Apple Script」フォルダ内にあるスクリプト編集プログラムを探し出して、ランチャーやアップルメニューに登録しておいて下さい。

AppleScriptアイコン

スクリプト編集プログラムをダブルクリックで起動すると、下図のようなウィンドウが開く。

スクリプト編集画面

記録・停止・実行なんてボタンがついていますが、実は記録ボタンを押して、何か作業をすると自動的にスクリプトが書き込まれて行くのです。

Apple Scriptはアプリケーションを制御するものだと言いましたが、そのアプリケーションがApple Scriptに対応していなければ何もできず、対応と言ってもアプリケーションそれぞれでできる事が違っています。

記録もアプリケーションによっては全く使えないものもありますし、できても制限があるため、じっくりとスクリプトを書く事を勉強しましょう。

●実際にやってみよう

先ほども書きましたが、Apple Scriptはアプリケーションを制御するもので、対象となるアプリケーションがApple Scriptに対応していなければなりません。

対応したアプリケーションは「スクリプタブルなアプリケーション」と呼ばれFinderなんかが代表格でしょう。

Finderっていうのは、あのFinderです。
そう、Mac OSのユーザーインターフェースにあたる、Finderです。

Finderも立派なアプリケーションで、フォルダを作ったり、ウィンドウを開いたり、ファイルをコピーしたりと色々な作業をしています。

試しに、スクリプト編集プログラムを立ち上げて、編集画面の記録ボタンを押した後、どれでもフォルダを開いてみて下さい。
その後に、編集画面の停止ボタンを押すと、スクリプトの出来上がりです。

スクリプト編集画面2

これで、一旦開いたフォルダを閉じてみて、編集画面の実行ボタンを押してみて下さい。

どうですか、フォルダがちゃんと開きましたか。
それでは中身を解説して行きましょう。

●書き方の基本

tell application "Finder"
  activate
  select folder "いろいろ"
  open selection
end tell

 

tell application ""というのがどのアプリケーションに対して命令するのかを指定しています。
この場合は、Finderと言う事になります。

その次に、activateというのは、Finderをアクティブな状態にすると言う事です。

どのフォルダーを選択するのかが、select folder ""と言う事となり、今回はデスクトップ上のいろいろフォルダーを選択しました。

そして、選択したフォルダを開きなさいと言う命令が、open selectionとなります。

最後にend tellと言う所で、このスクリプトは終わりだよと、示しています。

いかがです。簡単でしょ。

基本は、tell application "○○○"でアプリケーションを指定して、動作命令を次に書き、最後はend tellで締めくくるという手順です。

●保存

スクリプト保存

出来上がったスクリプトは保存するのだが、保存形式が幾つかあり、それぞれ目的が違ったりしますので、少し説明をします。

スクリプト編集プログラム書類 作業途中や未完成のものは、これを選んでおれば問題ないでしょう。
テキスト スクリプトをテキストで書出す時に選択します。 テキストエディタなどで開く場合などに利用します。
コンパイル済みスクリプト コンパイル済みとは、スクリプトとしては完成した状態のものを指します。 Outlookや、Adobe CSなどでApple Scriptをメニューから使えるものがありますが、この状態で保存したものを利用するのが一般的です。
classicアプリケーション スクリプトを単体のアプリケーションのように、スクリプト編集プログラムを使用せずに実行させる事が可能となります。 それのclassic版ということ。
MacOS Xアプリケーション 上の、OS X版ということですが、classic環境で作ったスクリプトをOS X版で保存したからと言って、必ずOS Xで動作するとは限りません。 OS Xのものは、OS X上で作るのが基本ですね。
ひな形オプション... ひな形とします。

 

●本格的に解説

では、本格的にスクリプトに付いて解説して行きます。
スクリプト文には色々なものがあり、書き方などが取り決められています。

スクリプティング予約語 Apple Scriptに用意されている基本的な構文や命令など
tell applicationなど
演算子 +や−、&など記号の類い
数値や文字列
"Finder"など""で囲まれたものは文字列として扱われます。
1、2、3など数値はそのまま表記します。
コメント 命令としては実行されないけれど、コメントとしてスクリプトの中に書いておきたい事など。
tell application "Finder" -- Finderに命令すると、マイナスを二つ続けた後でコメント文を書く
変数 変数とは値を入れておく入れ物のようなもので、たとえばフォルダを開くにしても、どのフォルダか最初に決まっていればよいが、利用者がその時にどのフォルダかを決める場合には、select folder "いろいろ"などと書けなくなってしまいます。
そこで、さきほどのスクリプトを下のように書き換えて実行してみて下さい。 tell application "Finder"
  activate
  choose folder --フォルダを選択する
  set iroiro to result --その結果を変数に入れる
  open iroiro
end tell
フォルダを選択するダイアログが出て来て、どれかフォルダを選択すると、そのフォルダが開きます。
このように変数には、文字や数値以外にもあらゆる値を入れる事ができるもので、プログラムには必須ですのでしっかりと覚えておきましょう。
変数の決まり事は、アルファベットから始まる名前でアルファベットと数字、一部の記号が使用できます。
"-" ハイフン "_" アンダーバーは使用できます。
大文字小文字の区別はありません。
変数に値を入れる事を代入と言い、式では以下のようになります。 set 変数名 to 値

 

いかがですか?理解できました。 とりあえず今回はここまでで、本格的な勉強は次回からとします。

ページのTopに戻る