Illustratorの整列アクションの実行の使い分け

Illustratorの整列にはキーボードショートカットを設定できません。

そこで、苦肉の策として、整列操作をアクションに登録して、そのアクションに対してキーボードショートカットを設定するという“おばあちゃんの知恵袋”的なファンキーなワークアラウンドでしのいできました。

AppleScriptでの指定

Keyboard Maestroの「Execute AppleScript」アクションを使って、Illustratorのアクションを指定する方法なら、中間ファイルと呼ぶべきJavaScriptファイルが不要です。

tell application "Adobe Illustrator" to do script "左揃え" from "整列"

スマートな一面で、アクションを実行後、意図せず、一部のオブジェクトが選択解除されてしまいます。

JavaScriptでの指定

次の1行を記述したJavaScriptファイルを作成し、そのファイルをKeyboard Maestroから実行します。

app.doScript("左揃え", "整列");

こちらも一部のオブジェクトが選択解除されてしまうことがあります。

JavaScriptに“おまじない”を追加

次のように加えることで選択が外れなくなります。

var sels = app.activeDocument.selection;
app.doScript("左揃え", "整列");
for (var i = 0; i < sels.length; i++){
  sels[i].selected = true;
}

三階ラボの宮澤さんに教わりました。ありがとうございます!

難点

JavaScriptファイルを指定する方法の場合、「with」に「Adobe Illustrator CC 2019」のようにアプリケーション名を指定する必要があります。

次の場合に、すべてのマクロファイルを指定し直す必要があり、面倒です。

  • メジャーアップデートでアプリケーション内の年号が変更になる
  • 「Adobe Illustrator CC 2019」が「Adobe Illustrator 2019」に変わる(こちらはなんとかOK)

これに関しては、したたか企画さんが解決方法を提案されています。

まとめの図解

複数オブジェクトを選択してアクションを実行する場合には、JavaScriptファイルを用意し“おまじない”を記述、それ以外はAppleScirptでアクションを直接実行するのがよさそうです。

WishList

整列操作は、デザイン作業の要。Illustratorの標準機能として、キーボードショートカットを設定できるようになることを願うばかりです。

さらに、アクションの対象(選択範囲、キーオブジェクト、アートボード)の切り替えも。

追記(2019年5月21日):

したたか企画さんからコメントいただきました。

なんと!!!(コメントありがとうございます!)

tell application "Adobe Illustrator" to do javascript "app.doScript('左揃え', '整列');"