終了

Javascriptでのレイヤーセット(グループ)の取得について

参加者 ,
Nov 16, 2021 Nov 16, 2021

リンクをクリップボードにコピー

コピー完了

非プログラマですが、PhotoshopのJavascriptでの操作を勉強中です

Photoshopではレイヤーグループの中にさらにレイヤーグループをつくることが可能ですが、

レイヤーグループ名の取得は一番上の階層のグループが取得されてしまいます。

(layerSetObj.nameを使って取得しています)

同様にグループを指定して操作したくても、

2番目の階層より下のレイヤーグループやグループ内レイヤーをレイヤー名で指定するとエラーとなってしまいます。

 

2番目以下の階層を指定する方法はあるのでしょうか?

 

※補足

サンプルコードを参考にしているサイト様

http://nakatoji.lolipop.jp/index.php/extendscript

http://www.openspc2.org/book/PhotoshopCC/

 

キーワード
アクションとスクリプト

表示

2.9K

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines

correct answers 1 件の正解

Community Expert , Nov 16, 2021 Nov 16, 2021

ああごめんなさいlayerSetsコレクションのほうがスマートでしたね。

 

任意のレイヤーから内包グループを参照するにはparentプロパティです。

activeDocument.activeLayer.parent

 

投票

翻訳

翻訳
Community Expert ,
Nov 16, 2021 Nov 16, 2021

リンクをクリップボードにコピー

コピー完了

レイヤー階層が仮に、

グループ 1

 └グループ2

となっている場合、グループ2には親のグループ1を経由しないと辿り着けないっぽいですね。

名前と階層が特定できている場合の決め打ちであれば

var hoge = activeDocument.layers.getByName("グループ1").layers.getByName("グループ2");

とすれば参照できます。

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
参加者 ,
Nov 16, 2021 Nov 16, 2021

リンクをクリップボードにコピー

コピー完了

ありがとうございます!

おっしゃる通り、直接ではなく経由すると行けるみたいです。

 

公式のリファレンスガイドにもこのようなサンプルスクリプトがあったので、後学の方のために記載しておきます↓

var layerSetRef = app.activeDocument.layerSets.getByName ('myParentSet');
var childSet = layerSetRef.layerSets.getByName ('myChildset');

 

恐縮ですが、名指しではなく、activeLayerから取得する方法もわかりましたら是非宜しくお願いいたします。

 

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Expert ,
Nov 16, 2021 Nov 16, 2021

リンクをクリップボードにコピー

コピー完了

ああごめんなさいlayerSetsコレクションのほうがスマートでしたね。

 

任意のレイヤーから内包グループを参照するにはparentプロパティです。

activeDocument.activeLayer.parent

 

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
参加者 ,
Nov 17, 2021 Nov 17, 2021

リンクをクリップボードにコピー

コピー完了

最新

ありがとうございます。

お陰様で作りたい機能を実装できました。

大変助かりました。

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines