Adobe Illustrator根据选择按字母顺序重命名图层

时间:2013-07-01 20:26:58

标签: javascript adobe-illustrator jsx

我不是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,依此类推。

非常感谢任何帮助!

0 个答案:

没有答案