在illustrator javascript中仅重命名可见图层

时间:2015-09-18 18:06:18

标签: javascript scripting adobe-illustrator

超级noob问题。我找到了一个代码,将我的顶层图层重命名为"第1帧,第2帧等......"如何才能将重命名仅应用于可见图层?第二个问题是如何仅将选定的图层(无论是否可见)重命名为"第1帧和第34帧;或者我选择什么,不影响文件中的任何其他层?

这是代码。

    var doc = app.activeDocument;  

    idLayers(doc); // Rename layers  

    function idLayers(doc){  
        for(i=0;doc.layers.length>i;i++){  
            var currentLayer = doc.layers[i];  
            currentLayer.name= 'Frame  '+(i+1);  
        }  
}   

非常感谢你的帮助!

1 个答案:

答案 0 :(得分:0)

这可以在illustrator scripting reference中轻松找到。

此脚本执行您提出的两项操作,只需注释掉您不想运行的函数调用,并在函数调用中为图层添加图层前缀或名称。

var doc = app.activeDocument;  

idLayers("Frame "); // Rename visible layers 
renameSelectedLayer("Active"); // Rename active layers  

// Hidden layers will be skipped and not counted
function idLayers(prefix){ 
  var counter = 1; 
  for(i=0;doc.layers.length>i;i++){ 
    var currentLayer = doc.layers[i]; 

    // if layer is visible...
    if (currentLayer.visible) {
      currentLayer.name= prefix + counter;
      counter++;  
    }

  }  
}    

function renameSelectedLayer(layerName){ 
  doc.activeLayer.name = layerName
}