我不是js guru,但我正在尝试制作一个脚本,根据我的输入重命名Adobe Illustrator中的选定图层。只有从字母“A”开始,我才设法让它工作。例如,如果我从字母“B”开始,它将跳过第一层(因为它将是“A”)并且仅从第二层开始重命名(如果我尝试使用“C”,则跳过第一层两层,等等......)。有没有办法...重置计数器,所以重命名可以从选择的第一层开始?
这是我的代码:
var doc = app.activeDocument,
sel = doc.selection,
rename = prompt("Enter the name:","");
done = 0;
var str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var r = /\[\w+\]/i;
var matching = rename.match( r );
var letter = str.search( matching );
if (letter>=0)
{
for(i=letter; i<sel.length;i++)
{
var nextChar = str.charAt(i);
if(nextChar){
theRenaming=rename.replace(/\[\w+\]/, nextChar);
sel[i].name = theRenaming;
letter++;
// document.write(theRenaming);
}
else
sel[i].name = rename;
}
//console.log(letter);
} else
{
alert("Nothing Found!");
}
这是它的工作原理: 选择图层后,此脚本将要求您输入名称(例如:图层[A])..它将找到图层并将其重命名为layerA(删除括号)并根据选择长度迭代字母表。
我的问题..如果它是字母B或C或H,它将开始仅将第二层或第三层重新命名为第8层,我希望它从第一层开始使用B,依此类推。
非常感谢任何帮助!