2008年12月14日日曜日

Illustratorで、選択オブジェクトの持つプロパティと値をコンソールに書き出す

InDesignはオブジェクトの値をtoSource()で見られるけれど、Illustratorでは見られない。
いちいちJavaScriptリファレンスで確認するのも大変だし、どうするかなーと思ってた。

JavaScript の配列と連想配列の違い - IT戦記
配列は素直に for
連想配列には for in

あ、そうか。JavaScriptのオブジェクトは全て連想配列だから…
第一章 JavaScriptにおけるオブジェクトの基本的性質を知る
var obj=app.activeDocument.selection[0];

for (var i in obj) {
$.write(i+":");
try{
$.writeln(obj[i])
}catch(e){
$.writeln(e.toString())
}
};

やっぱりJavaScriptはきちんと勉強しないとだめだね。

091216追記:ワンライナー、変数がかぶってるところにも使えるようにfunctionに。
var o=app.activeDocument.selection[0];
(function(o){for(var i in o){try{i+=':'+o[i]}catch(e){i+=':'+e}$.writeln(i)}})(o);

0 件のコメント: