Illustratorの整列アクションの実行の使い分け
この記事内の目次
Illustratorの整列にはキーボードショートカットを設定できません。
そこで、苦肉の策として、整列操作をアクションに登録して、そのアクションに対してキーボードショートカットを設定するという“おばあちゃんの知恵袋”的なファンキーなワークアラウンドでしのいできました。
- Illustrator:アクションを使って整列コマンドにキーボードショートカットをアサインする - DTP Transit
- IllustratorユーザーのためのXDの勘どころ | DTP Transit
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日):
したたか企画さんからコメントいただきました。
Illustratorの整列アクション実行AppleScriptは,次のように書くとなぜか選択が外れません。CS6から対応。
— したたか企画 (@sttk3com) May 21, 2019
tell application "Adobe Illustrator" to do javascript "app.doScript('左揃え', '整列');"
Illustratorの整列アクションの実行の使い分け https://t.co/b8SVIbm9B9 @DTP_Transitさんから
なんと!!!(コメントありがとうございます!)
tell application "Adobe Illustrator" to do javascript "app.doScript('左揃え', '整列');"