- Сообщения
- 42
- Реакции
- 1
if(elements[i].typename=="GroupItem" || elements[i].typename=="Layer")ungroup(elements[i]);
function ungroup(obj)
{
var elements = getChildAll(obj);
if(elements.length<1){
obj.remove();
return;
}else{
for(var i=0;i<elements.length;i++)
{
try{
if(elements[i].parent.typename!="Layer")elements[i].moveBefore(obj);
if(elements[i].typename=="GroupItem")ungroup(elements[i]);
}catch(e){
}
}
}
}
сорри:А где getChildAll ?![]()
function getChildAll(obj)
{
var childsArr = new Array();
for(var i=0;i<obj.pageItems.length;i++)childsArr.push(obj.pageItems[i]);
if(obj.layers){
// Get layers as well.
for(var i=0;i<obj.layers.length;i++)childsArr.push(obj.layers[i]);
}
return childsArr;
}
моя проблема всё еще актуальна, при использовании скрипта сообщением выше получаю такой результат: "result:undefined" и при этом ничего не происходит... При использовании его вместе с кодом выше - "result:Error 2: elements is undefined.Скриптом сообщением выше
Круто!!! Спасибо!!! Всё заработало))))Вот эту строку
if(elements[i].typename=="GroupItem" || elements[i].typename=="Layer")ungroup(elements[i]);
замените на
JavaScript:for (var i=app.activeDocument.groupItems.length-1;i>=0;i--) { ungroup(app.activeDocument.groupItems[i]); }
for (var i=app.activeDocument.groupItems.length-1;i>=0;i--)
{
ungroup(app.activeDocument.groupItems[i]);
}
function ungroup(obj)
{
var elements = getChildAll(obj);
if(elements.length<1){
obj.remove();
return;
}else{
for(var i=0;i<elements.length;i++)
{
try{
if(elements[i].parent.typename!="Layer")elements[i].moveBefore(obj);
if(elements[i].typename=="GroupItem")ungroup(elements[i]);
}catch(e){
}
}
}
}
function getChildAll(obj)
{
var childsArr = new Array();
for(var i=0;i<obj.pageItems.length;i++)childsArr.push(obj.pageItems[i]);
if(obj.layers){
// Get layers as well.
for(var i=0;i<obj.layers.length;i++)childsArr.push(obj.layers[i]);
}
return childsArr;
}