AutomatorでAppleScriptに値を渡す | パークのソフトウエア開発者ブログ|ICT技術(Java・Android・iPhone・C・Ruby)なら株式会社パークにお任せください

パークのソフトウエア開発者ブログ|ICT技術(Java・Android・iPhone・C・Ruby)なら株式会社パークにお任せください

開発の解決方法や新しい手法の情報を、パークのエンジニアが提供します。パークのエンジニアが必要な場合は、ぜひお気軽にお問い合わせ下さい。 株式会社パーク:http://www.pa-rk.co.jp/

こんにちは。ひらのです。

今回はMacのGUI操作の自動再生アプリ「Automator」で、
AppleScriptに値(変数)を渡す方法を2パターンご紹介します。
(検証環境はYosemite/10.10.1です)

①Automatorの変数を渡す
AppleScript内で直接変数名を指定することはできません。
なので、AppleScriptの入力として[変数の値を取得]を指定します。

変数の値を取得する(Automator)

<AppleScript>
on run {input, parameters}
set val1 to item 1 of input
set val2 to item 2 of input
set cnt to (count of input)
end run

←[変数の値を取得]を並べた順番にinputに入ってくる
←inputに入っている値の個数を調べる


上記画像のように、[変数の値を取得]をつなげることで、複数の値を渡すことができます。
この場合は、オプション項目[このアクションの入力を無視]にチェックをしないでください。


②シェルスクリプトから値を渡す
シェルスクリプトで渡したい値を標準出力に出力させることで
値を渡すことができます。

シェルから値を渡す(Automator)

[シェルスクリプトを実行]内の[入力の引き渡し方法]は、何でも良いです。
(シェルスクリプトへの入力に関する設定です。)