GO BACK

初心者のためのAppleScript教室


「Finderでオブジェクトを開く」


■Finderでのファイルの扱い


Macの操作で一番面倒なのは、何といってもファイル操作です。そこで、まずはファイルに関する基本から覚えていくことにしましょう。

 Finderでファイルを扱う場合は、「ファイルの種類」と「ファイルの場所」の2つについて知っておかないといけません。

 ファイルの種類というのは、テキストファイルとかPICTファイルとかいうものではなくて、ディスク、フォルダ、ファイルといった種類のことです。AppleScriptでは、これらはちゃんと区別するようになっています。サポートされている主な種類としては、こんなものがあります。


「file」−−アプリケーション、書類、デスクアクセサリなど一般的ファイル全般。
「folder」−−フォルダのこと。
「disk」−−各種のディスクのこと。ハードディスク、フロッピーディスクなど種類は問わない。
「alias」−−エイリアスファイルのこと。
「control panel」−−コントロールパネル書類のこと。


 他にもいろいろとありますが、とりあえずこれぐらい知っておけば十分でしょう。これらは「種類 "名前"」って具合に使います。例えば、「file "名称未設定"」とか「control panel "モニタ"」なんて具合ですね。

 もう一つの「場所」ってのは、そのファイルがディスク内のどこに置かれているか、ということです。普通、HyperTalkなんかでは、ファイルの場所というのは「パス名」という形で示すようになっています。例えば、「HD-300」というハードディスク内の「書類入れ」というフォルダ内にある「新規ファイル」というファイルは、


HD-300:書類入れ:新規ファイル


こんなふうに示すのが普通ですね。AppleScriptでも、このようなパス名による記述もできるんですが、もうちょっとスマートな書き方もできるようになっています。例えば、上の例なら、


file "新規ファイル" of folder "書類入れ" of disk "HD-300"


こんなふうに書くことができます。つまり、ファイルのある場所を、先ほどの「file "〜"」っていうやり方で細かく指定するわけですね。


■いろんなものを開いてみる!


では、実際にファイルを使ってみましょう。今回は、ファイル操作の一番基本で、ある程度実用になるということで、「開く」命令を使ってみます。−−例えば、起動ディスクの「HyperCard」フォルダに入っている「HyperCard 2.2.1」を開くスクリプトを考えましょう。スクリプト編集プログラムで、次のように書いてください。


tell application "Finder"
	open file "HyperCard 2.2.1" of folder "HyperCard" of startup disk
end tell

 これを実行すると、ちゃんとHyperCardが起動します。

 AppleScriptのスクリプトは、直接AppleScript自身が処理するものばかりではありません。どちらかというと、特定のアプリケーションに向けて命令を送り、そのアプリケーションが処理する、というものが多いのです。こういう場合、AppleScriptでは、


tell application 《アプリケーション名》
 ……実行する命令……
end tell

このような形で書きます。こうすると、間に記述された命令は、指定のアプリケーションに向けて全て送られます。ここではFinderに向けて命令を送っていたわけです。

 ちょっと注目して欲しいのは、「startup disk」というもの。これは、起動システムが入っているディスクのことです。いちいちハードディスクの名前を書かなくていいので、重宝するから覚えておきましょう。

 さて、肝心の「open」命令です。これは、こんな具合に、


open ○○


と実行するだけで、指定したファイルを開くことができます。結構簡単ですね?

 では、もっと他のものも開いてみましょう。コントロールパネルはどうでしょうか。


tell application "Finder"
	open control panel "モニタ"
end tell

 これを実行してみよう。きっと、エラーが出てしまったはずです。そう、これは動作に失敗する例なのです。どうして失敗したのかわかりますか。それは、control panel "モニタ" のある場所がわからなかったためなのです。さっきもいったように、Finderでは、そのファイルのある場所(パス名)をきちんと指定しないとダメなのです。ということは−−


tell application "Finder"
	open control panel "モニタ" of control panels folder
end tell

 はい、これでOK。ちゃんと動くから、試してみてください。


■特別な「場所」


スクリプトを良くみると、場所を指定するのに「control panels folder」ってのが使われていますね。Finderでは、システムフォルダの中の特別なフォルダは「○○folder」という形で書けばいいようになっています。主なものとしては、

system folder――システムフォルダ
apple menu items folder――「アップルメニュー」フォルダ
control panels folder――「コントロールパネル」フォルダ
extentions folder――「機能拡張」フォルダ
fonts folder――「フォント」フォルダ
preferences folder――「初期設定」フォルダ
shutdown items folder――「終了項目」フォルダ
startup items folder――「起動項目」フォルダ

こんな感じになります。システムフォルダの中にある、Systemが自動的に作成するフォルダは、全てこのようにして直接指定できるのです。

 また、デスクトップも直接指定できます。例えば、デスクトップにある「書類」というフォルダなら、


folder "書類" of desktop


このようになるわけです。とりあえず、ここで説明したことをマスターして、ディスク内のどこにあるフォルダやファイル、アプリケーションも確実に開けるようにしておきましょう。

GO NEXT


GO HOME