Bonjour
Je suis débutant en javascript et j'essaie d'optimiser mes travaux sur le logiciel Illustrator en créant des script.
J'ai par exemple créer un script qui me permet d'ajouter une couche (layer) ou de supprimer une couche
app.activeDocument.layers.getByName('Layer 1').remove();
app.activeDocument.layers.getByName('Layer 1').add();
Ma question est la suivante:
Je voudrais selectionner un layer spécifique par son nom (par eg; Layer 1)
Quel action (du genre 'remove', 'add') puis-je utiliser pour selectionner ?
J'ai essayé 'select' ou 'selection' mais ça ne fonctionne pas.
Merci d'avance pour vos conseils
Fred
Script pour Adobe Illustrator
Re: Script pour Adobe Illustrator
Bonjour
Je pense avoir trouvé un exemple de solution ici :
https://forums.adobe.com/thread/569012
Je pense avoir trouvé un exemple de solution ici :
https://forums.adobe.com/thread/569012
Code : Tout sélectionner
app.activeDocument.activeLayer = app.activeDocument.layers.itemByName("Layout");
Re: Script pour Adobe Illustrator
Bonjour Frosty
Merci pour votre réponse.
Malheureusement, ça ne fonctionne pas.
Fred
Merci pour votre réponse.
Malheureusement, ça ne fonctionne pas.

Fred
Re: Script pour Adobe Illustrator
Ah, j'aurais dû faire plus attention, c'est pour indesign et pas pour illustrator 

Re: Script pour Adobe Illustrator
Cela dit, vu ces deux discussions, ça a quand même l'air d'être la marche à suivre :
https://forums.adobe.com/thread/644267
https://forums.adobe.com/thread/625715
Rassure-moi, tu as quand même adapté la ligne que je t'ai donnée ? C'est à dire mettre par exemple "Layer 1" à la place de "Layout" comme paramètre pour l'appel à app.activeDocument.layers.itemByName(...) ?
https://forums.adobe.com/thread/644267
https://forums.adobe.com/thread/625715
Rassure-moi, tu as quand même adapté la ligne que je t'ai donnée ? C'est à dire mettre par exemple "Layer 1" à la place de "Layout" comme paramètre pour l'appel à app.activeDocument.layers.itemByName(...) ?
Re: Script pour Adobe Illustrator
Je viens de trouver une solution à mon problème:
var aDoc = app.activeDocument;
var myLayers = aDoc.layers;
var actName = "Months";
try {
aDoc.activeLayer = myLayers.getByName(actName);
redraw();
actLayer = aDoc.activeLayer;
actLayer.locked = false;
actLayer.visible = true;
redraw();
}
catch (e) {
alert ("Layer "+actName+" not found")
}
var aDoc = app.activeDocument;
var myLayers = aDoc.layers;
var actName = "Months";
try {
aDoc.activeLayer = myLayers.getByName(actName);
redraw();
actLayer = aDoc.activeLayer;
actLayer.locked = false;
actLayer.visible = true;
redraw();
}
catch (e) {
alert ("Layer "+actName+" not found")
}