LoginSignup
omdf00
@omdf00 (うめさん)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

再帰処理を使って、psdファイルのレイヤセットの中に格納されている特定の名前(pers)を持つレイヤセットの表示・非表示をを切り替えたい

解決したいこと

再帰処理を使って、psdファイルのレイヤセットの中に格納されている特定の名前(pers)を持つレイヤセットの表示・非表示をを切り替えたい

発生している問題・エラー

特定の名前(pers)グループが他のグループの中に格納されている場合だと、表示・非表示の切り替えが実行されない。

該当するソースコード

var sets = new Array();

var match = "pers";

docObj = activeDocument;

function getAllLayers(docObj)  {
for(var i=0; i<docObj.layers.length; i++){     

        try {
            if (docObj.layerSets["pers"].visible == false) {
                docObj.layerSets["pers"].visible = true;
            } else {
                docObj.layerSets["pers"].visible = false;
            }
        }
        catch (e) {
            ; // do nothing
        }

    } for (i = 0; i<docObj.layerSets.length; i++) {
             getAllLayers(docObj.layerSets[i]) 
        try {
            if (docObj.layerSets["pers"].visible == false) {
                docObj.layerSets["pers"].visible = true;
            } else {
                docObj.layerSets["pers"].visible = false;
            }
        }
        catch (e) {
            ; // do nothing
        }

    }

}


自分で試したこと

「photoshop 再帰処理」などでググり、何度かそれらしいスクリプトを移植するなどしましたが、いずれも"pers"グループが他のグループの中に格納されている場合だと、表示・非表示の切り替えが実行されませんでした。
かれこれ三週間くらい悩んでいるので、何かしらアドバイスを頂ければと思い質問させて頂きました。

0

No Answers yet.

Your answer might help someone💌