This content has been marked as final.
Show 3 replies
-
1. Re: Need Help Converting Appscript to Javascript
CarlosCanto Mar 2, 2011 10:10 PM (in response to hoovdan)not exactly a translation
#target Illustrator // var script.description = deletes hidden layers // var script.parent = CarlosCanto; // 3/2/11 // var script.elegant = false; var idoc = app.activeDocument; for (i = idoc.layers.length-1 ; i>=0 ; i--) { var ilayer = idoc.layers[i]; if (ilayer.visible == false) { ilayer.visible = true; ilayer.locked = false; ilayer.remove(); } } -
2. Re: Need Help Converting Appscript to Javascript
Larry G. Schneider Mar 3, 2011 9:11 AM (in response to CarlosCanto)Thanks, Carlos.
-
3. Re: Need Help Converting Appscript to Javascript
Muppet Mark-QAl63s Mar 3, 2011 9:32 AM (in response to Larry G. Schneider)I only ran a basic test with this so do check it first… It should look for all files in sub folders and all sub layers too?
#target illustrator var df = Folder(Folder.desktop); var topLevel = Folder.selectDialog('Please choose your Top Level Folder…', df); if (topLevel != null) { var fileList = Array(); fileListRecursive(topLevel.fsName, /\.ai$/i); if (fileList.length > 0) { removeInvisLayers(); } else { alert('This Folder or sub folders contained NO Illustrator AI files?'); } } function removeInvisLayers() { var uIL = app.userInteractionLevel; app.userInteractionLevel = UserInteractionLevel.DONTDISPLAYALERTS; for (var i = 0; i < fileList.length; i++) { app.open(fileList[i]); var docRef = app.activeDocument; recurseLayers(docRef.layers); docRef.close(SaveOptions.SAVECHANGES); } app.userInteractionLevel = uIL; }; function recurseLayers(objArray) { for (var i = objArray.length-1 ; i >= 0; i--) { if (objArray[i].layers.length > 0) { recurseLayers(objArray[i].layers) } if (objArray[i].locked) objArray[i].locked = false; if (!objArray[i].visible) objArray[i].visible = true, objArray[i].remove(); } }; function fileListRecursive(f, exp) { var temp = Folder(f).getFiles(); for (var i = 0; i < temp.length; i++) { if (temp[i] instanceof File && RegExp(exp).test(temp[i].fsName)) fileList.push(temp[i]); if (temp[i] instanceof Folder) fileListRecursive(temp[i].fsName, exp); } };


