/** ==================================================================================================================================== ****** SelLyColor_Chg_EXX ****** 複数選択したレイヤーのレイヤーカラーを一気に変換 ドキュメント内に同じ名前のレイヤーが複数あっても、元のリンク状態に戻るように改良。 ==不具合アリマス== ドキュメント内に同じ名前のレイヤーが複数ある場合、選択中のレイヤーにその内の1つが含まれていると 元の選択状態とは違うレイヤーが選択されて完了する場合があります。(元の選択状態にならない場合がある) 2008.0909 ==================================================================================================================================== */ var linkLys = new Array(); var linkSets = new Array(); var valLink = new Array(); var actDoc = activeDocument; var actLy = actDoc.activeLayer; var selLinkLys = new Array(); var resLys = new Array(); var dumNames = new Array(); var visLys = new Array(); var motoNames = new Array(); var motoLinkName = new Array(); var numColor = 8; var lyBtn = new Array(); var lyName = new Array(); var valColor = null; var resLyColor = null; var valAlert = true; //カラーコレクション var colorStr = new Array(); colorStr[0] = "None"; colorStr[1] = "Rd "; colorStr[2] = "Orng"; colorStr[3] = "Ylw "; colorStr[4] = "Grn "; colorStr[5] = "Bl "; colorStr[6] = "Vlt "; colorStr[7] = "Gry "; var colorName = new Array(); colorName[0] = "カラーなし"; colorName[1] = "レッド"; colorName[2] = "オレンジ"; colorName[3] = "イエロー"; colorName[4] = "グリーン"; colorName[5] = "ブルー"; colorName[6] = "バイオレット"; colorName[7] = "グレー"; //************Main_Script****************************************************** SearchLinked(actDoc,0,0); UnLinkSelLys(); try { LinkSelLys(); } catch(e) { } finally { } SelLy(); UnLinkSelLys(); MyDialog(); LyBtnChk(); if(valAlert == true) { VisLy(); LyColor(); } ReLinked(); ReSelected(); //***********FUNCTION******************************************************* function SearchLinked(layObj, indent,u) { //元のリンク状態を取得 var i,k; nn=0; var n = layObj.artLayers.length; for (i=0; i 0) { valLink[u] = linkLys; valLink[u].push(layObj.artLayers[i]); nn++; u++; } } var ns = layObj.layerSets.length; for (i=0; i 0) { valLink[u] = linkSets; valLnk[u].push(layObj.layerSets[i]); u++; } SearchLinked(layObj.layerSets[i],indent+1,u); } } //****************************************************************************** function MyDialog() { var mDlg = new Window("dialog","Select Color",[200,100,580,(100+(90+(30*numColor)))]); var grpDlg = mDlg.add("group",[20,20,570,(30+(30*numColor))]); var okBtn = mDlg.add("button",[130,(50+(30*numColor)),225,(80+(30*numColor))], "OK!", { name:"ok"}); for (var i = 0; i < numColor; i++) { var aPos = (10+(30*i)); var bPos = (40+(30*i)); //alert(aPos,bPos); lyBtn[i] = grpDlg.add("radiobutton",[100, aPos, 275, bPos], colorName[i]); } mDlg.center(); mDlg.show(); } //****************************************************************************** function LyBtnChk() { var valChk = false; for (var i = 0; i < numColor; i++) { if(lyBtn[i].value == true){ valColor = colorStr[i]; valChk = true; } } if(valChk == false) { alert("******色が選ばれていません******"); valAlert = false; }else if(valChk == true) { resLyColor = valColor; } } //****************************************************************************** function LyColor() { nresLys = resLys.length; for(q=0;q