Skip to main content
Participant
April 17, 2024
Question

Ungroup all from selection

  • April 17, 2024
  • 1 reply
  • 7001 views

Hello:) i was trying to find something which will help me to Ungroup everything from selection to be able to add it on Action. I cant use normal ungroup becuase if i use it few times (in case there is more groups in selection) then script is stopping becuase there are no groups. So i tried script like this:

var doc;

function getChildAll(obj) {
var childsArr = [];
for (var i = 0; i < obj.pageItems.length; i++) {
childsArr.push(obj.pageItems[i]);
}
return childsArr;
}

function ungroupSelection() {
var selection = doc.selection;
for (var i = 0; i < selection.length; i++) {
var item = selection[i];
if (item.typename == "GroupItem") {
var elements = getChildAll(item);
for (var j = 0; j < elements.length; j++) {
elements[j].moveBefore(item);
}
item.remove();
ungroupSelection(); // Recursively ungroup newly ungrouped items
}
}
}

if (app.activeDocument) {
doc = app.activeDocument;
if (doc.selection.length > 0) {
ungroupSelection();
} else {
alert("Please make a selection before running this script.");
}
} else {
alert("Please open a document before running this script.");
}


Script is working but its showing me error like in attachment. How i can avoid it? or maybe there is some easier way to ungroup everything from selection?

This topic has been closed for replies.

1 reply

Sergey Osokin
Inspiring
April 17, 2024

You may find the ExtUngroup script useful. Choose Target > Selected objects and Options > Ungroup all.

Inspiring
July 31, 2024
 

Hello! I found that your script "ExtractFromGroup" does not seem to be suitable for Adobe Illustrator 28.6. It does not move objects out of the group. After running it, there are no changes.

Participant
August 1, 2024

I can't confirm your problem with ExtractFromGroup script. Tested on AI v28.6 on Mac OS Monterey and Windows 10. The script works. Have you tried running it from the File > Scripts menu instead of the ScripshonTrees extension?


It is working 🙂 i probably forgot to write here. Thanks anyway