レイヤー連続保存スクリプトやってみましたが
ただしひとつ(すくなkともひとつ、というのが正確でしょうが)解決できません。
最後のコメントアウトしてある//myNewDoc.close();を活かすと、2番目に処理されるレイヤーから、duplicateのところでエラーが起きてしまうのです。
~~~...どうしても、解決できません....
新規作成したファイルを開けっ放しだと、処理は問題なく終わりますけど...。
あるいはもっと根本的なところに問題があるのでしょうか。。。。
詳しい方おられれば、勝手ながら、お教えいただけると幸いです。
docObj = app.activeDocument;
layObj = docObj.layers;
layLength = layObj.length;
//保存先のフォルダを選びます。
myFolderName = Folder.selectDialog("Select a folder to save");
//レイヤーごとの処理。
//見た目で要不要が決められるよう可視レイヤーのみ書き出すという設定にしてみました。
if(myFolderName) {
for (i=0; i<layLength; i++){
theLay = layObj[i];
if(theLay.visible) {
if (theLay.locked)theLay.locked = false;
myLayName = theLay.name;
myNewFname = myFolderName+"\\"+myLayName+".ai";
mySaveFile = new File(myNewFname);
myNewDoc = documents.add();
myPItems = theLay.pageItems;
alert(myPItems);
//各レイヤーにある項目を複製
for(j=0; j<myPItems.length; j++){
if (myPItems[j].locked) myPItems[j].locked = false;
myDupObj = myPItems[j].duplicate();
//複製したものを別ドキュメントに移動です myDupObj.moveToBeginning(myNewDoc);
}
myNewDoc.saveAs(mySaveFile);
//myNewDoc.close();
}
}
}
....どなたかご存知の方おられないでしょうか。