クリエイター手抜きプロジェクト[175]Photoshop CS2/CS3編 フォルダ内のファイル一覧を表示する/古籏一浩

投稿:  著者:  読了時間:6分(本文:約2,600文字)


前回に続いて、ファイル一覧を取得するスクリプトのPhotoshop CS2/CS3版です。Windows版、およびフォルダ内に日本語が含まれない場合には、以下のスクリプトを使ってください。



offsetX = 10;
offsetY = 100;
fSize = 9;
CR = String.fromCharCode(13);
docObj = app.activeDocument;
foldername = Folder.selectDialog("フォルダを指定してください");
if (foldername)
{
fileList = foldername.getFiles();
result = "";
for (i=0; i< fileList.length; i++)
{
result += File.decode(fileList[i].name) + CR;
}
layObj = docObj.artLayers.add();
layObj.kind = LayerKind.TEXT;
layObj.textItem.font = "Osaka"; // 書体(フォント)を指定
layObj.textItem.size = fSize; // 書体サイズを指定
layObj.textItem.justification = Justification.LEFT; // 行揃え指定
layObj.textItem.color.rgb.red = 255;
layObj.textItem.color.rgb.green = 0;
layObj.textItem.color.rgb.blue = 0;
layObj.textItem.contents = result;
layObj.translate(offsetX,offsetY);
}

MacOS X Tiger/Leopardの場合は、日本語の濁点などが文字化けしてしまうので以下のスクリプトを使ってください。

offsetX = 10;
offsetY = 100;
fSize = 9;
dakuten = "%E3%82%99";
handakuten = "%E3%82%9A";
CR = String.fromCharCode(13);
docObj = app.activeDocument;
foldername = Folder.selectDialog("フォルダを指定してください");
if (foldername)
{
fileList = foldername.getFiles();
result = "";
for (i=0; i< fileList.length; i++)
{
filename = fileList[i].name;
filename = convertKana(filename,dakuten,1);
filename = convertKana(filename,handakuten,2);
result += File.decode(filename) + CR;
}
layObj = docObj.artLayers.add();
layObj.kind = LayerKind.TEXT;
layObj.textItem.font = "Osaka"; // 書体(フォント)を指定
layObj.textItem.size = fSize; // 書体サイズを指定
layObj.textItem.justification = Justification.LEFT; // 行揃え指定
layObj.textItem.color.rgb.red = 255;
layObj.textItem.color.rgb.green = 0;
layObj.textItem.color.rgb.blue = 0;
layObj.textItem.contents = result;
layObj.translate(offsetX,offsetY);
}
function convertKana(srcName, code, count)
{
srcName = srcName.replace(/%E3%82%BF%E3%82%99/g, "%E3%83%80"); // ダだけ特殊処理
var text = srcName.split(code); // 濁点
for (var i=0; i< text.length-1; i++)
{
var str = text[i];
if (str == "") continue;
var body = str.substring(0,str.length-2);
var footL = str.substring(str.length-2, str.length);
var hexL = eval("0x"+footL) + count;
hexL = hexL.toString(16).toUpperCase();
text[i] = body+hexL;
}
return text.join("");
}

MacOS Xの場合、かなり処理速度が遅いので注意してください。低速マシンでは数分かかることがあります。ハングアップはしませんので気長に待ちましょう。あと、書体名は日本語名ではなく英語表記で指定してください。


【古籏一浩】openspc@po.shiojiri.ne.jp
< http://www.openspc2.org/ >

iPhone買いに行ったら案の定入手できませんでした。田舎なので簡単に入手できるかと思ったら駄目でした。

< Ajaxライブラリでかんたんインターフェイスデザイン >
< http://www.amazon.co.jp/exec/obidos/ASIN/4861005698/openspace0d-22/ >
< 実践!Ajaxフレームワーク jQuery >
< http://www.amazon.co.jp/exec/obidos/ASIN/4839928541/openspace0d-22/ >

photo
Ajaxライブラリで かんたんインターフェイスデザイン
古籏一浩
ビー・エヌ・エヌ新社 2008-06-25



photo
実践!Ajaxフレームワーク jQuery
古籏 一浩
毎日コミュニケーションズ 2008-06-28
おすすめ平均 star
starもうすこしサンプルの解説がほしいところ

jQueryで作る Ajaxアプリケーション prototype.jsパーフェクトリファレンス―Ajax実践プログラミング prototype.jsとscript.aculo.usによるリッチWebアプリケーション開発 Ajax ポケットリファレンス (POCKET REFERENCE) JavaScript & DHTMLクックブック 第2版 Webエキスパート必携テクニック集



photo
改訂第4版 JavaScript ポケットリファレンス
古籏 一浩
技術評論社 2006-10-18
おすすめ平均 star
starJavaScriptを使ったプロジェクトのお供に是非
starJavaScript仮免者以上の方へ
starバランスの良いバイブル
star中級者向けです。

[改訂版] PHP ポケットリファレンス (Pocket reference) 改訂新版 SQLポケットリファレンス (Pocket reference) 基礎 Ajax + JavaScript 改訂第5版 オールカラー  HTML ポケットリファレンス (POCKET REFERENCE) JavaScriptプログラミング入門 第2版

by G-Tools , 2008/07/14