
Photoshop用テキスト書き出しスクリプト
以前、作成したPhotoshop用スクリプトが今でも動作するので再掲します。 テキストレイヤーのレイヤー名を取得する形です。
以下のコードをテキストエディタにコピペして、拡張子「.js」で保存し、Photoshopの「ファイル」>「スクリプト」>「参照」から上記のファイルを選択後、ファイル保存のダイアログが表示されるので、適宜ファイル名を付けて保存ボタンをクリックするだけです。
実行にはやや時間が掛かりますので、ご注意ください。
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++) {
if (layObj.artLayers[i].kind == LayerKind.TEXT) {
txt = layObj.artLayers[i].textItem.contents;
fileObj.write(txt+CR+"---------"+CR); // レイヤー間の区切りにハイフン追加
}
}
var ns = layObj.layerSets.length;
for (var i=0; i<ns; i++) {
writeLayerName(layObj.layerSets[i])
}
}