とあることがしたくて、Photoshopにて、レイヤーすべてを新たにレイヤーセットを作ってまとめたいスクリプトを作っております。
--------
var myDoc = app.activeDocument;
var lyrSetName = 'hogehoge';
var lyrSetObj= activeDocument.layerSets.add();
lyrSetObj.name = lyrSetName;
activeDocument.activeLayer = activeDocument.layers[0];
var docLyrObj = activeDocument.layers;
for(l=docLyrObj.length-1 ; 0<l ; l-- ){
var lyrObj = docLyrObj[l];
var relativeObj = activeDocument.layerSets[lyrSetName];
lyrObj.move(relativeObj, ElementPlacement.PLACEATBEGINNING);
}
--------
上記で作ってみたのですが、これだと元のレイヤーにレイヤーセットが含まれると途中で止まってしまうようです。
(背景レイヤーはない前提でスクリプト使用しています)
レイヤーセットも含めた状態で、一つのレイヤーセットにまとめることは実現可能でしょうか?
当方Photoshop2020、OS10.15.7環境です。
[20706] h (2021/12/08 Wed 15:17)
ちょっとやってみたら確かにだめで、
ちょっとぐぐってみたらスクリプトリスナー案件のようですね。
https://community.adobe.com/t5/photoshop-ecosystem-discussions/move-layerset-to-another/td-p/3781993
[20707] (z-) (2021/12/09 Thu 10:11)
データごとにレイヤー名を参照しないとだめかなって思っていたのですが、
メニューの選択範囲>「全てのレイヤー」をScriptlistenerで抽出してみたらできました。
(まさかこんなメニューが追加されていたとは。。。)
[20748] h (2022/01/11 Tue 14:21)
> データごとにレイヤー名を参照しないとだめかなって思っていたのですが、
> メニューの選択範囲>「全てのレイヤー」をScriptlistenerで抽出してみたらできました。
> (まさかこんなメニューが追加されていたとは。。。)
↑
ごめんなさい。。
頭の中ぐるぐるしすぎて変なこと書いてました。。。
関係ない内容ですので無視してください。
[20749] h (2022/01/11 Tue 14:27)