[AppleScript] スクリプトから別のスクリプトを実行する方法

2016.05.16

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

別のスクリプトを呼び出す

今回は実行しているスクリプトから別のスクリプトを実行する方法を紹介します。
これを利用することで、単体で動くスクリプトを大きな処理の一部として呼び出すことが可能となります。

run script

特定のスクリプトを実行するには run script コマンドを使用します。

このコマンドはパラメータで指定したスクリプトを実行します。
スクリプトファイルを指定した場合は、そのファイルに書かれているスクリプトを実行します。

スクリプトファイル parent.scpt から child.scpt を実行するサンプルです。

parent.scpt

run script file "Macintosh HD:Users:tanakakeisuke:AppleScript:child.scpt"

child.scpt

display dialog "This file is child.scpt"

parent.scpt では run script コマンドでファイルを指定しています。
file ~ の部分がファイルオブジェクトとなります。

ここではホームディレクトリの下に AppleScript というディレクトリを作成し、そこに child.scpt を配置しています。

AppleScript においてファイルパスは : で区切られます。
実行しているスクリプトのファイルパスを知りたい場合は、以下のスクリプトを実行することでファイルパスを表示することができます。

display dialog (path to me as text)

child.scpt ではテキストダイアログを表示しているだけです。
このダイアログが表示されたということは child.scpt が実行されたことを示します。

実行

それでは parent.scpt を実行してみましょう。
以下のようなダイアログが表示されるはずです。

call_script_2

run script コマンドを使用することで、parent.scpt から child.scpt を実行することができました。

リンク

ミレニアム・ファルコン製作日記 #17

17 号 表紙

mfd_17_1

パーツ

mfd_17_2

mfd_17_3

mfd_17_4

成果

mfd_17_5

mfd_17_6

今回の作業は以下の 2 つでした。

  • 通路クッションを取り付ける
  • 通路上部を取り付ける

主船倉へと繋がる右舷通路を組み立てました。
クッションを切り離して通路の壁に貼り付けるという作業を繰り返し行いました。
クッションが自然に汚れている感じがとても良かったです。

「フォースの覚醒」のメイキングでも BB-8 のウェザリングについての映像がありましたが、自然な「汚し」で使い古されている感を出すのはいいですね!

それではまた次回。

May the Force be with you!