見出し画像

Illustratorで「選択しているオブジェクトを新規レイヤーに移動し、そのレイヤーを最背面に移動してロック」までを1ストロークで実行する

自分の場合、Illustratorでの制作物では基本的にレイヤー分けしません。
その理由は[オブジェクトを前面に/背面に移動する]コマンドがレイヤー内のみで有効なため。

その一方、ドキュメント全体に背景色を付けるようなケースでは、別レイヤーにしておかないと、背景色を付けたオブジェクトの下に回り込んでしまって不便です。

次の作業を1ストロークで実行する方法について考えてみました。

  1. 新規レイヤーを作成し、レイヤー名を「bg」に変更する

  2. 選択しているオブジェクトを「bg」レイヤーに移動する

  3. 「bg」レイヤーを最背面に移動し、ロックする

  4. 選択しているオブジェクトが元々あったレイヤーをアクティブに

アクション

手順1、手順2はアクションで実行できます。

そのままだと毎回ダイアログボックスが開いてしまうため、
アイコンをクリックして非表示にしておく

「選択しているオブジェクトを「bg」レイヤーに移動する」には[オブジェクト]メニューの[重ね順] → [選択しているレイヤーに移動]を使います。

スクリプト

こんな感じで動きました(修正済み)。

var doc = activeDocument;
var al = doc.activeLayer; // 現在のレイヤーを覚えておく

var lay = doc.layers.add(); // レイヤーを作成
lay.name = "bg"; // レイヤー名を「bg」に

var sel = doc.selection; // 選択オブジェクト

for (i = sel.length-1; i >= 0; i--){
    obj = sel[i];
    obj.move(lay, ElementPlacement.PLACEATBEGINNING);
}  // 選択しているオブジェクトを「bg」レイヤーに移動


lay.zOrder(ZOrderMethod.SENDTOBACK); // 「bg」レイヤーを最背面に移動
lay.locked = true; //「bg」レイヤーをロック

doc.activeLayer = al; // 「現在のレイヤー」をアクティブに

次のブログ記事を参考にしました。

お礼

選択オブジェクトが複数あるとき、前後関係が狂ってしまうようで、ご指摘と修正案をいただきました。

あるふぁ(仮)さん、ものかのさん、あぢ(z-)そよ風邪さん、ありがとうございます!!!


ダウンロード

Keyboard Maestroのマクロです。MaestroPackが必要です。

2023年1月31日17:30に修正しました。

ここから先は

0字 / 1ファイル
月に10-20本くらいの記事を投稿しています。定期購読されると、更新のお知らせを受け取ったり、マガジン限定記事やサンプルファイルをダウンロードできます。 購読を開始した月に更新された記事から読むことができます(初月無料)。

DTP Transit 定期購読マガジン

¥100 / 月 初月無料

マガジン限定記事やサンプルファイルをダウンロードできます。

定期マガジンを購読されるとサンプルファイルをダウンロードいただけます。 https://note.com/dtp_tranist/m/mebd7eab21ea5