ロック関連。
オブジェクトのロック
ロックする
オブジェクトをロックする
obj.locked=true;>
メニューから「ロック」(CS6以降)
app.executeMenuCommand("lock");
メニューから「ロック>前面のすべてのアートワーク」(CS6以降)
app.executeMenuCommand("Selection Hat 5");
メニューから「ロック>その他のレイヤー」(CS6以降)
app.executeMenuCommand("Selection Hat 7");
ロック解除する
オブジェクトをロック解除する
obj.locked=false;
メニューから「すべてをロック解除」(CS6以降)
レイヤーにロックがかかっている場合は解除しないでスルーされます
app.executeMenuCommand("unlockAll");
すべてのオブジェクトのロックを解除する
→グループの中もみていかないといけないのでかなり面倒。メニューを実行する方が楽。どちらの場合もレイヤーロックは先に解除しとく必要があります。
レイヤーのロック
ロックする
レイヤーをロックする
obj.layer.locked = true;
一番上のレイヤーをロックする
activeDocument.layers[0].locked = true;
ロック解除する
レイヤーをロック解除する
obj.layer.locked = false;
例文
レイヤーのロックをすべて解除する(サブレイヤーも)
layerUnlock(activeDocument); // レイヤーロック解除 function layerUnlock(lay){ for(var i=0; i<lay.layers.length; i++){ lay.layers[i].locked = false; // レイヤーロックを解除 if (lay.layers.length > 0){ layerUnlock(lay.layers[i]); // 再帰で入れ子になっているサブレイヤーを処理 } } }
レイヤーもオブジェクトもすべてのロックをはずす
groupLoop(app.activeDocument.pageItems); //グループの中身にアクセス function groupLoop(objs){ for(var i=0;i<objs.length;i++){ if(objs.typename=="GroupItem"){ groupLoop(objs[i].pageItems); }else{ objs[i].locked=false; objs[i].layer.locked = false; } } return; }
↑これだと、オブジェクトのないレイヤーのロックは解除できなかったので、