2016-07-25 2 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; 
    } 
} 
関連する問題