いつもお世話になります。
indesignCS3で、javascriptを使ってやらせたい作業があるのですが、知識不足で目的のものができません。。
お時間あるときで構いませんので、お知恵を拝借したいと思い投稿させて頂きます。
環境はMacOSX10.5.8、indesign CS3(5.0.4)です。
やらせたい作業は、
選択したオブジェクトを「レイアウト」という名前のレイヤーに移動させる
という単純作業なのですが、★★★の部分に定義したレイヤーを指定してもエラーとなります(TT)
色々自分なりに調べましたが、根本的にやり方が間違ってるのかも知れません。
どなたかご教授いただければ幸いです。
var myLayer = app.documents.item(0).layers.item("レイアウト");
selObj = app.activeDocument.selection;
for(j = 0; j < selObj.length;j++){
selObj[j].move (app.activeDocument.★★★ );
}
よろしくお願い致します。
[15443] ゴエモン (2013/04/03 Wed 14:51)
こんな感じ。
#target indesign
var myLayer = app.documents.item(0).layers.item("レイアウト");
selObj = app.activeDocument.selection;
for(j = 0; j < selObj.length;j++){
selObj[j].itemLayer=myLayer; //app.activeDocument.★★★ );
}
[15444] 流星光輝 (2013/04/03 Wed 15:19) web
流星光輝 様
迅速な返信ありがとうございます!
思い通りの動きが実現しました(TT)
このコードをもとに勉強させていただきます!
ありがとうございました!
[15445] ゴエモン (2013/04/03 Wed 15:27)
いちお、念のために、
selObj[j].itemLayer=myLayer;
としてしまいましたが(私がいつもやっている方法でした)
selObj[j].move(myLayer);
でmoveメソッドを使う事も出来ます。
どちらの方法が速いとか遅いとか安心とか
そういう細かいことは未検証です。ごめんなさい。
[15446] 流星光輝 (2013/04/03 Wed 15:53) web
流星光輝 様
なるほど、そういったアプローチもできるんですね。
重ね重ねありがとうございます!!
[15447] ゴエモン (2013/04/03 Wed 16:05)