/【解決】選択したオブジェクトを一気に差し替えたい!2016.07.26【解決】選択したオブジェクトを一気に差し替えたい!TweetPocketIllustratorで作業をしていると,選択しているアイテムをまとめて別のオブジェクトに変えたくなることがあります。複数のオブジェクトを後からシンボルに変換するなどです。普通にやろうとすると,変形パネルで座標をコピーしてペーストするという動作を延々と続けることになります。これでは終わりが見えず,途方に暮れてしまいますよね。そこで今回は,選択しているアイテムをまとめて置換するJavaScriptを紹介します。あれ,それ見たことあるよそうですね,鈴木メモさんが2つのスクリプトを組み合わせて使う方法を紹介していらっしゃいます。便利な方法ですが,やっぱり2回実行するより1回で済んだほうがありがたいですよね。そんなわけで新しいJavaScriptを書きました。ダウンロードはこちらです。追記あるふぁ(仮)さん制作のOnegaiSDKがインストールされていたら,それを使ってキーオブジェクトを取得する設定にしました。なくても今まで通り動きます。KBDownload使いかた難しいことは何もありません。複数のオブジェクトを選択してスクリプトを実行するだけです。すると最前面にあるアイテムが,その他のアイテムの中心に複製・置換されます。あった最前面のアイテムは削除されます。このスクリプトをアクションに登録して実行するとIllustratorがクラッシュしてしまうことがあるので,それ以外の方法で起動してください。おすすめポイント「最前面にあるアイテム」というのは見た目でどれなのかわからないため,意外に不便です。このスクリプトでは,整列のキーオブジェクトを置換するアイテムとして扱う機能をつけました。CS6以降であれば使えると思います。CS6より前のバージョンの場合キーオブジェクトは無視されるはずです(未検証)。横書きのポイントテキストは通常だと天地センターより少し上に揃ってしまいますが,仮想ボディが天地センターになるようにしています。ある四角形の中央に,それぞれテキストを配置したいときなどに活躍します。動作イメージは以下です。https://sttk3.com/wordpress/wp-content/uploads/2016/07/2016_0726_02.mp4￼なんとも素早い!これでまた少し仕事が速くなりました。今日もさっさと仕事を切り上げて好きなことをしましょう!スクリプトを紹介していただきました。選択したオブジェクトをまとめて差し替える。keyObjectの方を置換,それ以外を検索とする。スクリプト実行元アプリケーションのバージョンを取得して数値の配列にする。pluginが使用可能かどうかを返す。複数行の文字を簡単に記述するための機能。いう形で式展開できる。好きなのを書けば良し。アクションを文字列から生成し実行するブロック構文。ActionItemのconstructor。ActionItemsのconstructor。同名アクションセットがあったらunloadする。trueの場合selection中のindexを,falseならpageItemを返す。keyObjectを推察する。trueの場合selection中のindexを,falseならpageItemを返す。整列を実行し,移動しなかったもののindexを記録。移動しなかったものが1つだけならそれをkeyObjectとして返し,整列を取り消す。javascript経由(SPAiなど)で実行だとundoが無視され,スクリプトメニュー経由だとエラーで止まる。Illustratorでjsxファイルを開く方式とダブルクリック起動は正常にundoできた。移動しなかったものが複数だけど全部じゃない場合はあきらめる。