2017-05-22 19 views
0

일러스트 레이터 파일의 레이어 이름을 "Test 1, Test 2, etc ..."로 변경하는 스크립트가 있습니다. 원하는 작업은 다음과 같습니다. 단일 숫자에 선행 0을 추가합니다. "테스트 01, 시험 02 ... 시험 (10), 테스트 (11), 등 ..." ExtendScript Toolkit CCC - 한자리 만 찾으면 앞에 오는 0을 추가하십시오.

var doc = app.activeDocument; 

idLayers("Test "); // Rename visible 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 pad(n) { 
    return (n < 10) ? ("0" + n) : n; 
} 

여기 모든 멍청한 놈이 도움이 될 것입니다. 미리 감사드립니다.

답변

1

스크립트 끝 부분에서 이미 찾은 기능을 추가하기 만하면됩니다 (처음에는 중요하지 않습니다). 그런 다음 레이어 이름이 지정된 행에서 호출합니다. 따라서 전체 스크립트는 다음과 같습니다.

var doc = app.activeDocument; 

idLayers("Test "); // Rename visible 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 + pad(counter); 
     counter++; 
    } 

    } 
} 

function pad(n) { 
    return (n < 10) ? ("0" + n) : n; 
} 
+1

"패드 (카운터)"부분을 제외한 모든 부분이 있습니다. 완벽하게 일했습니다. 도와 줘서 고마워. – NoobUser