Welcome Dialog

コミュニティへようこそ。

まったく新しい外観になりました。ツアーに参加して、アドビサポートコミュニティの最新情報をご覧ください


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/

 

キーワード
アクションとスクリプティング

表示

87

いいね

翻訳

翻訳

レポート

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

correct answers 1 件の正解

Adobe Community Professional , Nov 16, 2021 Nov 16, 2021
ああごめんなさいlayerSetsコレクションのほうがスマートでしたね。 任意のレイヤーから内包グループを参照するにはparentプロパティです。 activeDocument.activeLayer.parent

いいね

翻訳

翻訳
Adobe Community Professional ,
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
Adobe Community Professional ,
Nov 16, 2021 Nov 16, 2021

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

コピー完了

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

 

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

activeDocument.activeLayer.parent

 

いいね

翻訳

翻訳

レポート

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

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

コピー完了

最新

ありがとうございます。

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

大変助かりました。

いいね

翻訳

翻訳

レポート

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