2016-07-25 7 views
1

레이어 이름은 객체로만 액세스 할 수 있음을 알고 있습니다. 그러나 배열에서 인덱스 위치를 찾기 위해 객체 이름을 사용하는 방법이 있습니까? 즉, 파일에 여러 개의 레이어가 있습니다. 특정 레이어를 찾아서 위에있는 모든 레이어의 표시 여부를 변경하고 잠금을 해제하고 그 아래에있는 모든 레이어의 표시 여부를 변경하고 싶습니다. 나는 항상 같은 레이어를 찾고 있지만 전체 레이어 수는 작업마다 바뀝니다. 어떤 도움을 많이 주시면 감사하겠습니다!이름으로 레이어를 찾은 후 인덱스 번호 찾기

답변

0

모든 레이어를 반복하고 색인 (현재 루프 횟수)을 저장하면 각 이름이 일치하는지 확인하십시오.

// get index (from top layer down) of named layer... expects only one layer with this name 
// name of layer you are looking for 
var targetLayerName = 'name' 

var targetDocument = app.activeDocument; 
var layerCount = targetDocument.layers.length; 
var namedLayerIndex = 0; 
// loop through layers and find the named layer 
for (i = 0; i < layerCount; i++) { 
    if (targetDocument.layers[i].name == targetLayerName) { 
     namedLayerIndex = i; 
    } 
}