[Q] Is there way to check if the LayerSet is ArtBoard without selecting?
Hi all,
Is there way to check if the LayerSet is ArtBoard without selecting?
I mean not make active the LayerSet.
My understanding following code returns true if selected LayerSet is Artboard.
Is this only way to get info?
var ref = new ActionReference();
ref.putEnumerated(charIDToTypeID("Lyr "), charIDToTypeID("Ordn"), charIDToTypeID("Trgt"));
var isArtboardLayer = executeActionGet(ref).getBoolean(stringIDToTypeID("artboardEnabled"));
$.writeln(isArtboardLayer);
When I try to get the info in following code, above code does not work
traverseLayer(app.activeDocument.layerSets, 0);
function traverseLayer(layers, level) {
try{
for(var i = 0; i < layers.length; i++) {
var l = layers[i];
$.writeln(level + ": (" + l.typename + ")", l.name);
if (l.typename == 'LayerSet') {
// TODO: Check if it is ArtBoard
traverseLayer(l.layers, level+1); // recursive
}
}
}catch(e){
$.writeln("EXCEPTION: ", e);
}
}
I saw some code is selectForwardLayer(). Retrieve Artboard reference of active nested layer
But I don't want to change selected layer by some reasons.
Is there any way to check if it is ArtBoard LayerSet without selecting?
Thank you,
Naoki
