Photoshop CS4自動化作戦

フォルダ内にある全てのPSD形式のファイルを開いてレイヤー名を再設定する

■プログラム説明
 フォルダ内にある全てのPSD形式のファイルを開いてレイヤー名を再設定します。設定されるレイヤー名テキストは中級編、レイヤー、003で出力されたものになります。テキストファイルを書き換えることで、フォルダ内にあるPSD形式のファイル全てのレイヤー名を自動的に設定することができます。ただし、全てのPSDファイルが同じレイヤー、レイヤーセットの構造になっている必要があります。


■ソースコード
filename = File.openDialog("レイヤー名が保存されたファイル名を指定してください");
if (filename)
{
folderObj = Folder.selectDialog("PSDファイルがあるフォルダを選択してください");
fileList = folderObj.getFiles("*.psd");
for(fCnt=0; fCnt<fileList.length; fCnt++)
{
psdname = fileList[fCnt].fsName;
open(File(psdname));
setAllLayerName();
activeDocument.close(SaveOptions.SAVECHANGES);
}
}

function setAllLayerName(){
fileObj = new File(filename);
flag = fileObj.open("r");
if (flag == true)
{
setLayerName(activeDocument);
fileObj.close();
}else{
alert("ファイルが開けませんでした");
}
}

// レイヤー名を設定しなおす(再帰)
function setLayerName(layObj)
{
var n = layObj.artLayers.length;
for (i=0; i<n; i++)
{
layName = fileObj.readln();
layObj.artLayers[i].name = layName;
}
var ns = layObj.layerSets.length;
for (i=0; i<ns; i++)
{
setLayerName(layObj.layerSets[i])
}
}

■使い方
1:ファイルメニューからスクリプトを実行します。
2:ファイルオープンダイアログが表示されるのでレイヤー名が保存されているテキストファイルを選択します。
3:PSDファイルが存在するフォルダを指定します。
4:フォルダ内にあるPSDファイルのすべてのレイヤー名がテキストファイルに記述されたものに変更されます。


■ポイント
 なし


■注意
 なし