Skip to main content
Known Participant
July 31, 2019
Answered

Select multiple objects / pageitems with the same name

  • July 31, 2019
  • 1 reply
  • 2881 views

Hi, I've hit a brick wall now with this, I've scripted making eyelet holes for a banner, at this point, i need to select all objects/ellipses i've made called "Top Eyelet", ready for the next part of the script to distribute them evenly, but I've tried loads of forum examples and other places on google, all I can get anything to do is select one single layer called "Top Eyelet", unfortunately theres at least 6 or 7, i need them all selected.

Most recent attempt was this:

// works, selects only one though

var doc = app.activeDocument;

doc.selection = doc.pageItems.getByName("Top Eyelet");

// still only selects one

var item=app.activeDocument.pageItems

for (var i = 0; i <item.length; i++) {

     var doc = app.activeDocument;

     doc.selection = doc.pageItems.getByName("Top Eyelet");

}

If anyone can point me in the right direction that would be most appreciated!

This topic has been closed for replies.
Correct answer Lumenn

Hello, check below sample, it should do what you need

 

If those objects are always Elipses, then for optimalization you could use pathItems instead of pageItems - there is less items to check, as it's smaller collection.

 

Typescript version: adobe-forums-scripts/select_pageItems_with_name.ts at select_pageItems_with_name · lumenn/adobe-forums-scripts · GitHub

 

function selectPageItemsByName(items, name) {

    for (var i = 0; i < items.length; i++) {

        var item = items[i];

        if (item.name === name) {

            item.selected = true;

        }

    }

}

function main() {

    var document = app.activeDocument;

    var name = 'Top Eyelet';

    document.selection = null;

    selectPageItemsByName(document.pageItems, name);

}

main();

1 reply

Lumenn
LumennCorrect answer
Inspiring
July 31, 2019

Hello, check below sample, it should do what you need

 

If those objects are always Elipses, then for optimalization you could use pathItems instead of pageItems - there is less items to check, as it's smaller collection.

 

Typescript version: adobe-forums-scripts/select_pageItems_with_name.ts at select_pageItems_with_name · lumenn/adobe-forums-scripts · GitHub

 

function selectPageItemsByName(items, name) {

    for (var i = 0; i < items.length; i++) {

        var item = items[i];

        if (item.name === name) {

            item.selected = true;

        }

    }

}

function main() {

    var document = app.activeDocument;

    var name = 'Top Eyelet';

    document.selection = null;

    selectPageItemsByName(document.pageItems, name);

}

main();

Known Participant
August 1, 2019

works perfectly, thankyou!