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

Photoshopスクリプト(jsx)│全レイヤーに「種類」と「不透明度」を追記する方法

Photoshopで全レイヤー名へ「種類」と「不透明度」を自動追記するスクリプトを紹介します。

イラスト制作やLive2D向けのデータ整理に役立ち、レイヤー情報を名前に反映することで、後からの編集や確認をスムーズに行えます。

この記事でいう「種類」は、通常・乗算・スクリーンなどの描画モードのことです。

テキストレイヤーや調整レイヤーといったレイヤーの種類は、掲載のコードでは名前に付きません。

2026年10月16日に、Windows 11 Pro(10.0.26200)のPhotoshop 27.11.0(日本語表示)でこのコードを実行し、名前がどう変わるかを確かめました。

全レイヤー名に種類と不透明度を自動追記するスクリプトによる処理結果のイメージ。
目次

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

  • すべてのレイヤー名に「種類」と「不透明度」の情報を自動追記できる
  • Live2Dやイラスト制作時にデータを整理しやすくなる
  • レイヤー情報が明確になり、共同作業者とデータを共有しやすくなる
スポンサーリンク

スクリプトで全レイヤーに情報を追加する手順

このスクリプトは、レイヤー名の後ろに描画モードと丸めた不透明度を記載します。実行前にPSDを別名で保存してください。名前に「 : 」がある場合、それより後ろの文字は削除されます。通過の描画モードと、四捨五入後に100となる不透明度は省略されます。

STEP.1 スクリプトを格納

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

Photoshopのほかの操作は、まとめからご覧いただけます。

CGM_AddTypeAndOpacityToLayer.jsx

app.bringToFront();
var parent = activeDocument;
parent.layers[0];
parent.suspendHistory("レイヤーに種類と不透明度を追記  ", "main()");

function main()
{
    var BLEND_MODE_NAMES = {
        'NORMAL': '通常',
        'COLORBLEND': 'カラー',
        'COLORBURN': '焼き込みカラー',
        'COLORDODGE': '覆焼きカラー',
        'DARKEN': '比較(暗)',
        'DIFFERENCE': '差の絶対値',
        'DISSOLVE': 'ディザ合成',
        'DIVIDE': '除算',
        'EXCLUSION': '除外',
        'HARDLIGHT': 'ハード ライト',
        'HARDMIX': 'ハードミックス',
        'HUE': '色相',
        'LIGHTEN': '比較(明)',
        'LINEARBURN': '焼き込み(リニア)',
        'LINEARDODGE': '覆焼き(リニア)加算',
        'LINEARLIGHT': 'リニアライト',
        'LUMINOSITY': '輝度',
        'MULTIPLY': '乗算',
        'OVERLAY': 'オーバーレイ',
        'PASSTHROUGH': '', //通過
        'PINLIGHT': 'ピンライト',
        'SATURATION': '彩度',
        'SCREEN': 'スクリーン',
        'SOFTLIGHT': 'ソフトライト',
        'SUBTRACT': '減算',
        'VIVIDLIGHT': 'ビビッドライト',
        'DARKERCOLOR': 'カラー比較(暗)',
        'LIGHTERCOLOR': 'カラー比較(明)'
    };

    var LAYER_KIND_NAMES = {
        'BLACKANDWHITE': '白黒',
        'BRIGHTNESSCONTRAST': '明るさコントラスト',
        'CHANNELMIXER': 'チャンネルミキサー',
        'COLORBALANCE': 'カラーバランス',
        'CURVES': 'トーンカーブ',
        'EXPOSURE': '露光量',
        'GRADIENTFILL': 'グラデーション(塗りつぶしレイヤー)',
        'GRADIENTMAP': 'グラデーションマップ',
        'HUESATURATION': '色相・彩度',
        'INVERSION': '階調の反転',
        'LEVELS': 'レベル補正',
        'NORMAL': '',
        'PATTERNFILL': 'パターン(塗りつぶしレイヤー)',
        'PHOTOFILTER': 'フィルター',
        'POSTERIZE': 'ポスタライズ',
        'SELECTIVECOLOR': '特定色域の選択',
        'SMARTOBJECT': 'スマートオブジェクト',
        'SOLIDFILL': 'べた塗り(塗りつぶしレイヤー)',
        'TEXT': 'テキストレイヤー',
        'THRESHOLD': 'しきい値',
        'LAYER3D': '3Dレイヤー',
        'VIBRANCE': '自然な彩度',
        'VIDEO': 'ビデオレイヤー',
    };

    function getBlendModeInJa(blendMode)
    {
        blendMode = '' + blendMode;
        var index = blendMode.indexOf('BlendMode.');
        if (index >= 0)
        {
            blendMode = blendMode.substr(index + 1 + 9);
            if (BLEND_MODE_NAMES[blendMode] !== void 0)
            {
                blendMode = BLEND_MODE_NAMES[blendMode];
            }
        }
        return blendMode;
    }

    function geLayerKindInJa(layerKind)
    {
        layerKind = '' + layerKind;
        var index = layerKind.indexOf('LayerKind.');
        if (index >= 0)
        {
            layerKind = layerKind.substr(index + 1 + 9);
            if (LAYER_KIND_NAMES[layerKind] !== void 0)
            {
                layerKind = LAYER_KIND_NAMES[layerKind];
            }
        }
        return layerKind;
    }

    function removeArtlayerNameInfo(parent)
    {
        var ChildLyaers = parent.layers;
        for (var i = 0; i < ChildLyaers.length; i++)
        {


            if (ChildLyaers[i].typename == "LayerSet")
            {

                removeArtlayerNameInfo(ChildLyaers[i]);
            }

            var artLayer = ChildLyaers[i];
            var name = artLayer.name;
            var index = name.indexOf(' : ');
            if (index >= 0)
            {
                name = name.substr(0, index);
                var visible = artLayer.visible;
                artLayer.name = name;
                artLayer.visible = visible;
            }
        }
    }

    function addArtlayerNameInfo(parent)
    {
        var ChildLyaers = parent.layers;

        for (var i = 0; i < ChildLyaers.length; i++)
        {
            if (ChildLyaers[i].typename === "LayerSet")
            {
                addArtlayerNameInfo(ChildLyaers[i]);
            }

            var artLayer = ChildLyaers[i];
            var name = artLayer.name;
            var index = name.indexOf(' : ');
            var layerKind = artLayer.kind;
            layerKind = !true ? geLayerKindInJa(layerKind) : '';
            if (layerKind !== '')
            {
                layerKind = '[' + layerKind + ']';
            }
            var layerOpacity = Math.round(artLayer.opacity);
            if (layerOpacity === 100)
            {
                layerOpacity = '';
            } else
            {
                layerOpacity = layerOpacity + '%';
            }
            var blendMode = artLayer.blendMode;
            blendMode = getBlendModeInJa(blendMode);

            temp = [];
            if (blendMode !== '')
            {
                temp.push(blendMode);
            }
            if (layerOpacity !== '')
            {
                temp.push(layerOpacity);
            }
            if (layerKind !== '')
            {
                temp.push(layerKind);
            }
            if (temp.length > 0)
            {
                temp = temp.join(' ');
                newName = name + ' : ' + temp;
                var visible = artLayer.visible;
                artLayer.name = newName;
                artLayer.visible = visible;
            }
        }
    }

    removeArtlayerNameInfo(parent);
    addArtlayerNameInfo(parent);
}
  1. CGM_AddTypeAndOpacityToLayer.jsx を 以下のフォルダに保存
C:\Program Files\Adobe\Adobe Photoshop CC\Presets\Scripts\
  1. Photoshopを再起動します。

フォルダーに置いて再起動し、メニューから実行する方法は、2026年10月16日の確認には含めていません。

STEP.2 スクリプトを実行

  1. [ファイル] → [スクリプト] → [CGM_AddTypeAndOpacityToLayer] を選択します。
  2. 全レイヤーを処理し、省略条件に当てはまらない描画モードと不透明度を名前に追記します。
スクリプトを実行して全レイヤー名に種類と不透明度が自動追加された様子。

2026年10月16日の確認では、600×300pxの自作のPSDに、性質の違うレイヤーを7つ置いて実行しました。

文字レイヤーのTEXT_50(不透明度50%)と、非表示の文字レイヤーHIDDEN_75(75%)、グループGROUPの中の文字レイヤーCHILD_80(80%)があります。

ほかに、通常のレイヤーのNORMAL_100(100%)とlabel : keep、背景を置きました。

PSDの作成と、実行前後の名前の読み取りは、画面操作ではなく自動処理で行いました。

コードは本文のものを変えずに保存し、[ファイル]→[スクリプト]→[参照]から選んで実行しました。

Photoshopのレイヤーパネルに、GROUPとその中のCHILD_80、非表示のHIDDEN_75、TEXT_50、label : keep、NORMAL_100、背景が並んだ実行前の画面
2026-10-16撮影。Adobe Photoshop 27.11.0 (20260929.r.26 8c16e56)、Windows 11 Pro (10.0.26200)。実行前のレイヤーパネル。確認用に作った自作のPSDで、HIDDEN_75は非表示にしてある。画面のうちレイヤーパネルだけを切り出した。

実行すると通知は出ずに、7つのうち6つのレイヤー名が変わりました。

実行後のレイヤーパネルに、CHILD_80 : 通常 80%、HIDDEN_75 : 通常 75%、TEXT_50 : 通常 50%、label : 通常、NORMAL_100 : 通常、背景 : 通常と表示され、GROUPは変わっていない画面
2026-10-16撮影。Adobe Photoshop 27.11.0 (20260929.r.26 8c16e56)、Windows 11 Pro (10.0.26200)。本文のコードを[参照]から実行した後のレイヤーパネル。描画モードと不透明度が付き、label : keepのkeepは消えた。画面のうちレイヤーパネルだけを切り出した。
実行前の名前実行後の名前補足
TEXT_50TEXT_50 : 通常 50%文字レイヤーでも種類は付かない
HIDDEN_75HIDDEN_75 : 通常 75%非表示のまま名前だけ変わる
CHILD_80CHILD_80 : 通常 80%グループの中も対象
NORMAL_100NORMAL_100 : 通常不透明度100%は数値を省く
label : keeplabel : 通常元の名前のkeepが消えた
背景背景 : 通常背景も対象
GROUPGROUP描画モードが通過で100%のグループは変わらない
2026年10月16日、Windows 11 Pro(10.0.26200)/Photoshop 27.11.0/日本語UIで確認。本文のコードを変えずに[参照]から実行した結果。

「通常」は描画モードです。コードは不透明度を四捨五入して整数にし、丸めた結果が100なら数値を省きます。表の入力値は整数で、小数を指定した実機確認はしていません。

表示状態、不透明度、描画モード、文字の内容は、実行の前後で変わっていません。

注意したいのは、もともと名前に「 : 」(前後に半角スペースが入ったコロン)を含むレイヤーです。

このコードは、前回付けた情報を消してから付け直すため、元の名前の「 : 」より後ろも消します。

確認では、label : keepがlabel : 通常になり、keepは残りませんでした。

このような名前のレイヤーがあるPSDは、実行前に別名で保存しておくと元の名前を残せます。

コードには種類を付ける処理も入っていますが、layerKind = !true ? geLayerKindInJa(layerKind) : '';の行で常に空になるため、種類は付きません。

この行を書き換えて種類を付ける方法は、今回は確かめていません。

ロックしたレイヤー、調整レイヤー、スマートオブジェクト、通常以外の描画モード、何段も入れ子にしたグループは、今回は確かめていません。

2回目以降の実行、取り消しで戻す操作、文書を開いていないときの動作も、今回は確かめていません。

この記事で紹介しているコードは、GitHubのMOTOKI-LLC/cg-method-codeにもまとめています。

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

スポンサーリンク

まとめ

  • 各レイヤーの描画モードと丸めた不透明度を、省略条件に応じて名前へ追加できる
  • イラスト制作やLive2Dのデータ整理を効率化できる
  • 他の作業者とデータを共有しやすくなる

Photoshopのレイヤー管理を効率化するために、このスクリプトの導入をお試しください。

よくある質問:全レイヤー名に種類と不透明度を追記する

このスクリプトでは何ができますか?

Photoshopで、レイヤー名の後ろに描画モード(この記事でいう「種類」)と不透明度を自動で追記できます。テキストレイヤーなどのレイヤーの種類は、掲載のコードでは付きません。イラスト制作やLive2D向けのデータ整理に役立ち、レイヤー情報を名前に反映することで、後からの編集や確認をスムーズに行えます。

どんなメリットがありますか?

すべてのレイヤー名に「種類」と「不透明度」の情報を自動で追記できます。Live2Dやイラスト制作時にデータを整理しやすくなり、レイヤー情報が明確になるので共同作業者とデータを共有しやすくなります。

どのレイヤーが対象になりますか?

グループの中のレイヤーや非表示のレイヤー、背景も含めて、全レイヤーが対象です。不透明度は四捨五入後に100となると数値を省き、描画モードの通過も省きます。そのため通過・100%のグループには情報を追加しません。ただし元の名前に「 : 」があれば、その後ろは削除されます。2026年10月16日にPhotoshop 27.11.0で確かめたときは、7つのうち6つのレイヤー名が変わりました。

実行するとレイヤー名が変わりますが、元に戻せますか?

記事では元に戻す方法は紹介していません。レイヤー名が書き換わるため、大切なファイルは事前に別名で保存しておくと安心です。もともと名前に「 : 」を含むレイヤーは、その後ろの文字が消えます。2026年10月16日の確認では、label : keepがlabel : 通常になりました。取り消しで戻せるかは確かめていません。

スクリプトはどのように導入しますか?

記事のコードをテキストエディタに貼り付けてCGM_AddTypeAndOpacityToLayer.jsxとして保存し、記事で案内しているフォルダに保存します。保存後にPhotoshopを再起動してください。

どうやって実行しますか?

[ファイル] → [スクリプト] → [CGM_AddTypeAndOpacityToLayer] を選択します。レイヤー名の後ろに描画モードと不透明度が自動的に追加されます。2026年10月16日の確認では、フォルダーには置かず、[ファイル]→[スクリプト]→[参照]から保存したファイルを選んで実行しました。

スクリプトのコードはどこで確認できますか?

記事内に掲載しているほか、GitHubのMOTOKI-LLC/cg-method-codeにもまとめています。

メニューの表示や名称が記事と違う場合はどうすればよいですか?

Photoshopのバージョンによってメニューの名称や配置が変わることがあります。最新の操作手順は、Adobeの公式情報で確認してください。

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

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

Photoshopのおすすめ書籍

動作要件とPCの確認項目

周辺機器の優先度

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