Ausgabe
hoffe ihr könnt mir helfen. Ich brauche ein Skript, das einen Ebenennamen finden kann, zum Beispiel, wenn ich diese Ebenen habe:
Wood 123 Canvas
Wood 456 Specular
Wood 789 Lights
Und ich möchte die Ebene finden, die Canvas enthält. Und vielleicht, wenn es möglich ist, ändern Sie die Namensfarbe der Ebene in Grün.
Ich habe auch diesen Code gefunden, den ich ausprobiert habe:
try {
(ref1 = new ActionReference()).putName(stringIDToTypeID('layer'),"Canvas"); // replace Canvas with your layer name
(desc1 = new ActionDescriptor()).putReference(stringIDToTypeID('null'), ref1)
executeAction(stringIDToTypeID('select'), desc1, DialogModes.NO);
} catch (e) {
alert("Sorry, this layername does not exists");
}
Das funktioniert hervorragend, aber nur, wenn der Name der Ebene genau “Leinwand” ist. Und das ist das Problem
Lösung
Sie können sich die Adobe Javascript Scripting Reference ansehen .
Es sieht so aus, als gäbe es keinen schnelleren Weg, als von Hand nach den richtigen Ebenen zu suchen:
var layers = app.activeDocument.artLayers
for (var i = 0; i < layers.length; i++) {
if (/Canvas/.test(layers[i].name)) {
// layers[i] name contains "Canvas"
}
}
Beantwortet von – Auktis
Antwort geprüft von – Mildred Charles (FixError Admin)