Adobe Illustrator CS3/CS4編 配置された画像のリンクパス一覧を作成する

今回は配置された画像のリンクパス一覧を作成するスクリプトです。 Windows版なら日本語が含まれていても問題ないと思いますが、MacOS X版では例によって日本語部分が文字化けしてしまいます。ということで、日本語の文字化け部分を解消する処理も入れたものが以下のスクリプトです。
使い方ですが、リンクパスを書き出したい画像を選択してからスクリプトを実行してください。また、テキストや通常のパス図形などが選択で含まれている場合は、基本的に無視されます。


function listUp(){
var dakuten = "%E3%82%99";
var handakuten = "%E3%82%9A";
var selObj = activeDocument.selection;
var LF = String.fromCharCode (10);
var CR = String.fromCharCode (13);
var txt = "";
for (var i=0; i<selObj.length; i++){
if (selObj[i].file){
var filename = selObj[i].file.absoluteURI;
filename = convertKana(filename,dakuten,1);
filename = convertKana(filename,handakuten,2);
txt += File.decode(filename) + CR + LF;
}
}
var fileObj = File.saveDialog("保存ファイル名を入れて下さい");
if (fileObj){
var flag = fileObj.open("w");
if (flag == true){
fileObj.write(txt);
fileObj.close();
}else{
alert("ファイルが開けませんでした。保存先を確認してください。");
}
}
}
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("");
}
listUp();


[サンプルをダウンロード]