レイヤーを検索し、指定したレイヤー名のものがあれば非表示に、無ければ作成するアクションを実行します。
#target photoshop
if(app.documents.length){ //ファイル開いているか
app.activeDocument.suspendHistory("【ヒストリーに表示する項目名】","main()");
}
function main(){
myClipname="Clipping_View"; //【検索するレイヤー名】
myLayer = app.activeDocument.layers;
try{myTest=myLayer[myClipname]; //指定のレイヤーがあるか
if(myTest.visible){myTest.visible=false;}else{myTest.visible=true;} //あったら表示非表示切り替え
}catch(e){
app.doAction ("【アクション名】", "【アクションのあるフォルダ名】"); //なかったら作成するアクション実行
}
}
改造すると、任意のレイヤー名を探してオン/オフできます。
#target photoshop
/*
<javascriptresource>
<name>★付き特定レイヤートグル</name>
<category>YPresets</category>
</javascriptresource>
*/
if(app.documents.length){ //ファイル開いているか
app.activeDocument.suspendHistory("★付き特定レイヤートグル","main()");
}
function main(){
myClipname="★"; //レイヤー先頭符号
myLayer = app.activeDocument.layers;
var length = myLayer.length;
for(var i = 0; i < length; i++){
var layer = myLayer[i];
if(layer.name.indexOf(myClipname) === 0){
if(layer.visible){layer.visible=false;}else{layer.visible=true;} //あったら表示非表示切り替え
}
}
}