So i know i can use the below to get a layer
var layerName = "Text BG"; app.activeDocument.activeLayer = layers[layerName];
This works fine when the layer isn't within a group, but if it is I get an error
Error 1302: No such element
Line: 53 -> app.activeDocument.activeLayer = layers[layerName];
The layer is within a group called Text Group, how do i go about getting the group correctly?
layers is undefined
Layers is fine, as i said it works fine if the layer isn't in a group.
Layers is defined using
var layers = app.activeDocument.layers;
earlier in the script
with(activeDocument) activeLayer = layerSets['Text Group'].artLayers['Text Bg']
In my journey of learning scripting, I have collected various useful snippets. The last example in this link uses layer index:
The following is basically the same as the reply from Kukurykus with a slightly different syntax, swapping the layer index numbers in the GitHub Gist example above for names.
activeDocument.activeLayer = activeDocument.layerSets["Text Group"].layers["Text BG"];
Yes, as the others have mentioned, you need to select the group to get the layer within it.