Amazonで商品を見るセール会場へ

Photoshopスクリプト(jsx)│レイヤー名の前に文字を追加する方法

Photoshopのデータ整理やLive2Dの素材分けに役立つ、レイヤー名の前に文字を追加する方法を紹介します。

選択したレイヤー名を一括で変更できるため、作業効率化に役立ちます

目次

スクリプトを使用するメリット

  • 選択したレイヤーの名前を一括で変更できる
  • 「塗り_」「影_」などの接頭辞をまとめて付与できる

レイヤー名の前に文字を追加する方法

Photoshopの他の操作方法は、まとめ記事から確認できます。

  1. 下記のコードをテキストエディタなどに貼り付けて保存します。

RenameLayerPrefix.jsx

//@target photoshop;
app.bringToFront();
if (documents.length) {
    var prefix = "塗り_"
    var selLayers = getSelectedLayersIdx();
    for (var a in selLayers) {
        selectLayerByIndex(selLayers[a]);
        activeDocument.activeLayer.name = prefix + activeDocument.activeLayer.name;
    }
}

function selectLayerByIndex(index, add) {
    var ref = new ActionReference();
    ref.putIndex(charIDToTypeID("Lyr "), index);
    var desc = new ActionDescriptor();
    desc.putReference(charIDToTypeID("null"), ref);
    if (add) desc.putEnumerated(stringIDToTypeID("selectionModifier"), stringIDToTypeID("selectionModifierType"), stringIDToTypeID("addToSelection"));
    desc.putBoolean(charIDToTypeID("MkVs"), false);
    try {
        executeAction(charIDToTypeID("slct"), desc, DialogModes.NO);
    } catch (e) {}
};

function getSelectedLayersIdx() {
    var selectedLayers = new Array;
    var ref = new ActionReference();
    ref.putEnumerated(charIDToTypeID("Dcmn"), charIDToTypeID("Ordn"), charIDToTypeID("Trgt"));
    var desc = executeActionGet(ref);
    if (desc.hasKey(stringIDToTypeID('targetLayers'))) {
        desc = desc.getList(stringIDToTypeID('targetLayers'));
        var c = desc.count
        var selectedLayers = new Array();
        for (var i = 0; i < c; i++) {
            try {
                activeDocument.backgroundLayer;
                selectedLayers.push(desc.getReference(i).getIndex());
            } catch (e) {
                selectedLayers.push(desc.getReference(i).getIndex() + 1);
            }
        }
    } else {
        var ref = new ActionReference();
        ref.putProperty(charIDToTypeID("Prpr"), charIDToTypeID("ItmI"));
        ref.putEnumerated(charIDToTypeID("Lyr "), charIDToTypeID("Ordn"), charIDToTypeID("Trgt"));
        try {
            activeDocument.backgroundLayer;
            selectedLayers.push(executeActionGet(ref).getInteger(charIDToTypeID("ItmI")) - 1);
        } catch (e) {
            selectedLayers.push(executeActionGet(ref).getInteger(charIDToTypeID("ItmI")));
        }
        var vis = app.activeDocument.activeLayer.visible;
        if (vis == true) app.activeDocument.activeLayer.visible = false;
        var desc9 = new ActionDescriptor();
        var list9 = new ActionList();
        var ref9 = new ActionReference();
        ref9.putEnumerated(charIDToTypeID('Lyr '), charIDToTypeID('Ordn'), charIDToTypeID('Trgt'));
        list9.putReference(ref9);
        desc9.putList(charIDToTypeID('null'), list9);
        executeAction(charIDToTypeID('Shw '), desc9, DialogModes.NO);
        if (app.activeDocument.activeLayer.visible == false) selectedLayers.shift();
        app.activeDocument.activeLayer.visible = vis;
    }
    return selectedLayers;
};
  1. RenameLayerPrefix.jsx以下のフォルダに保存します
C:\Program Files\Adobe\Adobe Photoshop CC\Presets\Scripts\
  1. Photoshopを再起動します。

STEP.2 スクリプトを実行

  1. [ファイル][スクリプト][RenameLayerPrefix]を選択します。
  2. 選択中のレイヤー名に指定の文字が追加されます。

さらに便利に使う方法(ショートカット設定)

  1. [編集][キーボードショートカット]を開きます。
  2. 「ファイル」メニューの項目からスクリプトを探します。
  3. 任意のショートカットキー(例:「Ctrl + Shift + R」など)を割り当てます。
  4. ショートカットキーを押すだけで素早くスクリプトを実行できます。

レイヤーを操作するスクリプトは、ほかにもあります。

まとめ

  • 選択したレイヤー名の前に文字を一括追加できる
  • Live2D用パーツ分けやPhotoshopのデータ整理を効率化できる
  • ショートカットを設定するとさらに素早く実行できる

Photoshopのレイヤー整理を効率化するために、ぜひこのスクリプトを活用してみてください。

次に学ぶ・作業環境を選ぶ

学習を続けたい方や、作業環境を整えたい方は、目的に合うガイドをご覧ください。

Photoshopのおすすめ書籍

Photoshop用PCの選び方

周辺機器の優先度

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次