2017-09-25 15 views
1

Illustrator CCのドキュメント上のすべてのオブジェクトをJavascriptでグループ化するにはどうすればいいですか?私はスクリプトを作成しようとすると、ドキュメント内のすべてのオブジェクトをエラーなく正確にグループ化する必要があります。公式のガイドラインでは、私はそのような機能を見つけられませんでした。以下のコードはオブジェクトを正しくグループ化しません。オブジェクトは場所を変更し、フォアグラウンドまたはバックグラウンドに移動します。誰が私を助けられるか?Illustrator CCのドキュメント上のすべてのオブジェクトをJavascriptでグループ化するにはどうすればいいですか?

function group(){  
    var docRef = app.activeDocument; 
    var layerRef = docRef.layers[0]; 

    layerRef.hasSelectedArtwork=true; 
    docSelection = app.activeDocument.selection; 
    newGroup = app.activeDocument.groupItems.add(); 
    for (i = 0; i < docSelection.length; i++) { 
     newItem = docSelection[i]; 
     newItem.moveToBeginning(newGroup); 
    } 
} 
+0

zオーダーを保存するには、moveToBeginningではなくnewItem.moveToEndを使用します。 – emax

+0

私は.hasSelectedArtwork =すべてが非常に便利な、ありがとう! – superrache

答えて

0

私はあなたのコードで同じことをやろうとしましたが、すべてを逆にしました。問題はループ内で要素[i]を取り出してグループに移動するため、選択配列の長さが同じでなく、0から長さのループが有効ではなくなります。 私は0から長さに選択アレイ上のループを試してみましたが、ちょうど最後の選択要素ごとに移動する:それは動作しますが、私にとって

layer.hasSelectedArtwork = true; 
var selection = activeDocument.selection; 
var groupItem = layer.groupItems.add(); 
var count = selection.length; 
for(var i = 0; i < count; i++) { 
    var item = selection[selection.length - 1]; 
    item.moveToBeginning(groupItem); 
} 

を。それがあなたを助けることを願っています。

関連する問題