最前面の Illustrator でスクリプトを実行する Keyboard Maestro マクロ
バージョン違いの Illustrator が複数インストール(または起動)している環境で、スクリプトを実行する Keyboard Maestro マクロを発動すると、意図しないバージョンの Illustrator が反応してしまうことがあります。
この問題を解決する、おまじないマクロの作り方をまとめました。
「おまじないマクロ」を作成する
まずは、下準備。スクリプトを実行するマクロを補佐する「おまじないマクロ」を作っていきましょう。
「おまじないマクロ」を入れるマクログループを作ります。名前は適当でOK。
マクログループの中に、新しいマクロを作成します。わかりやすい名前をつけておきましょう。
それでは、この「おまじないマクロ」にアクションを追加していきます。
アクションカテゴリ「Variables」の中にある「Set Variables to Text」アクションを追加します。
Set variable に適当な変数名を入力します。今回は「front_app_path」と入力しました。
続けて、to に「%ApplicationPath%1%」を入力します。
※ %ApplicationPath%1% は、「最前面にあるアプリケーションのパス」が取得できる Keyboard Maestro の呪文だそうです。front_app_path という入れ物に 最前面にあるアプリケーションのパス を入れる。といったことが行われます。
アクションカテゴリ「Variables」の中にある「Filter」アクションを追加します。
追加されたアクションの Filter 横のドロップダウンメニューから「Variable」を選択し、適当な変数名を入力します。今回は「ai_script_path」と入力しました。
※ 後々使用する、スクリプトファイルのパスが入る入れ物です。
続いて with 横のドロップダウンメニューから「Expand Tilde In Path」を選択します。to は「Source」のままでOK。
※ Expand Tilde In Path は、パスの「~/」を「Users/xxxxx/」に変換する呪文です。
アクションカテゴリ「Execute」の中にある「Execute a Shell Script」アクションを追加します。
横に並んだドロップダウンメニューから「Execute text script」と「ignore results」を選択します。
下のテキスト入力部分に
open -a "$KMVAR_front_app_path" "$KMVAR_ai_script_path"
と入力します。
※ 先に指定した変数名を変えている場合は「"$KMVAR_」から「"」までの文字を指定した変数名に書き換えてください。2箇所あるのを忘れずに。
これで「おまじないマクロ」の完成です。
「スクリプトを実行するマクロ」を作成する
続きまして、スクリプトごとに使用する「スクリプトを実行するマクロ」を作っていきましょう。
とりあえず、Illustrator を起動しておきます。
まずは、Illustrator にだけ反応するマクログループを作成します。名前は適当でOK。
最初のドロップダウンメニューから「Available in these application」を選択します。
次に、+ ボタンをクリックして、「Adobe Illustrator xxx」を選択します。Illustrator のバージョンどれでも良いです。
追加された Adobe Illustrator xxx がドロップダウンメニューになっているので、もう一度クリックし、一番下にある「Match by Bundle ID」を選択します。
※ Match by Bundle ID を選ぶことで、バージョン関係なく全ての Illustrator に対応させます。
作ったマクログループ内に、新しいマクロを追加します。名前は適当でOK。
トリガー(ショートカットキーなど)はお好きなものを指定してください。
それではアクションを追加していきます。
アクションカテゴリ「Open」の中にある「Open a File, Folder or Application」アクションを追加します。
Open 右にあるボタンをクリックし、目的のスクリプトファイルを選択します。アクションの右上にあるギアマークをクリックし、「Disable Action」を選択して、せっかく作ったアクションの機能を停止させます。
アクションカテゴリ「Variables」の中にある「Set variable to Text」アクションを追加します。
Set variable に、「おまじないマクロ」で指定したスクリプトファイルのパスを入れる変数名を入力します。今回は「ai_script_path」と入力しました。
続いて、to に、先ほど機能を停止させたアクション内のパスをコピペします。
※ 機能停止させたアクションは、スクリプトファイルの選択&パスをコピペするためだけに使用します。不要な方は作らなくてもOK。
最後に、アクションカテゴリ「Keyboard Maestro」の中にある「Execute a Macro」アクションを追加します。
アクション内のドロップダウンメニューの中から、先ほど作った「おまじないマクロ」を選択します。
これで完成です。
登録するスクリプトを増やしていく場合は、「スクリプトを実行するマクロ」を複製し、to 内のパスを書き換えるだけでOK(もちろんショートカットキーや名前も変えてくださいね)。
準備がちょっと面倒くさいですが、一度作ってしまえば後が楽になるので、是非作ってみてください。
ダウンロード
作るの面倒くさいわ!って人向けに、上記の方法で作られたマクロをアップしました。
ダウンロードした illustrator_scripts_launcher-v01.kmmacros をダブルクリックすると、Keyboard Maestro に Illustrator Scripts と Illustrator Variables というマクログループが追加されると思います。
追加された2つのマクログループが無効になっている場合は、
それぞれマクログループを選択し、Enable Macro Group にチェックを入れて有効化してください。
そして、Illustrator Scripts に入っている スクリプトを実行するマクロ を複製したり、お好みの設定に編集してください。
Illustrator Variables の中 おまじないマクロ はいじらなくてOK(マクログループやマクロ名はお好きな名前に変えても問題ありません)。
以上です。
マクロを作るにあたり、Twitter で助言いただいた したたか企画さん どうもありがとうございました。