Copy link to clipboard
Copied
I've got this script to select only objects with the name "holes 1."
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 = 'holes 1';
document.selection = null;
selectPageItemsByName(document.pageItems, name);
}
main();
How do I get it to select objects with the name "holes 1" AND objects with the name "backs 1"?
Copy link to clipboard
Copied
Hi @LuxMarie4310, you could use a regex (grep) for the name variable:
function selectPageItemsByName(items, name) {
for (var i = 0; i < items.length; i++) {
var item = items[i];
if (name.test(item.name)) {
item.selected = true;
}
}
}
function main() {
var document = app.activeDocument;
var name = /^(holes 1|backs 1)$/;
document.selection = null;
selectPageItemsByName(document.pageItems, name);
}
main();
Copy link to clipboard
Copied
Or you could use an array of names, and loop through those inside your item loop:
function selectPageItemsByNames(items, names) {
for (var i = 0; i < items.length; i++) {
var item = items[i];
for (var j = 0; j < names.length; j++) {
if (item.name === names[j]) {
item.selected = true;
}
}
}
}
function main() {
var document = app.activeDocument;
var names = ['holes 1', 'backs 1'];
document.selection = null;
selectPageItemsByNames(document.pageItems, names);
}
main();
Copy link to clipboard
Copied
One way.
function selectPageItemsByName(items, name1, name2) {
for (var i = 0; i < items.length; i++) {
var item = items[i];
if (item.name === name1 || item.name === name2) {
item.selected = true;
}
}
}
function main() {
var document = app.activeDocument;
var name1 = 'holes 1', name2 = 'backs 1';
document.selection = null;
selectPageItemsByName(document.pageItems, name1, name2);
}
main();
Copy link to clipboard
Copied
Or, using the arguments object:
function selectPageItemsByNames(items) {
for (var i = 0; i < items.length; i++) {
var item = items[i];
for (var j = 1; j < arguments.length; j++) {
if (item.name === arguments[j]) {
item.selected = true;
}
}
}
}
function main() {
var document = app.activeDocument;
document.selection = null;
selectPageItemsByNames(document.pageItems, 'holes 1', 'backs 1');
}
main();