レイヤーセット内に含まれるレイヤー名も含めてすべてテキストファイルとして保存する

■プログラム説明
 レイヤー、レイヤーセットに含まれる全てのレイヤー名を一括して書き出すには再帰を利用します。レイヤーセット内にレイヤーセットが含まれる限りレイヤー名を出力するように関数を呼び出します。


■ソースコード
CR = String.fromCharCode(13);
savename = File.saveDialog("保存するファイル名を入れてください");
if (savename)
{
var fileObj = new File(savename);
var flag = fileObj.open("w");
if (flag == true)
{
writeLayerName(activeDocument);
fileObj.close();
}else{
alert("ファイルが開けませんでした");
}
}

// レイヤーセット内にレイヤーが含まれる限り書き出し(再帰)
function writeLayerName(layObj)
{
var n = layObj.artLayers.length;
for (var i=0; i<n; i++)
{
var layName = layObj.artLayers[i].name;
fileObj.write(layName+CR);
}
var ns = layObj.layerSets.length;
for (var i=0; i<ns; i++)
{
writeLayerName(layObj.layerSets[i])
}
}


■使い方
1:ファイルメニューからスクリプトを実行します。
2:保存ダイアログが表示されるので保存するファイル名を入力します。
3:すべてのレイヤー名がファイルに書き出されます。


■ポイント
 なし


■注意
 なし