He estado tratando de encontrar una manera de seleccionar todas las mesas de trabajo visibles, por lo que luego puedo exportarlas rápidamente como PNG. También me encantaría poder incluir la parte de exportación dentro del script, pero ese no es el principal problema ahora.
Tengo este código que encuentra todas las mesas de trabajo visibles y las almacena dentro de las mesas de trabajo visibles, pero parece que no puedo encontrar una manera de hacer una selección de ellas.
var artboards = activeDoc.layers; var visibleArtboards = []; for (var i=0; i<artboards.length; i++){ if(artboards[i].visible){ visibleArtboards.push(artboards[i]); } }activedoc.activeLayer puede hacer una selección, pero solo de 1 sola mesa de trabajo.
Si alguien me puede ayudar con la pieza que falta, se lo agradecería mucho.
Puede obtener la ID de capa de las mesas de trabajo y agregarla a una selección. Con su código, visibleArtboards ahora es el ID de las capas de la mesa de trabajo.
// call the source document var activeDoc = app.activeDocument; var artboards = activeDoc.layers; var visibleArtboards = []; for (var i=0; i<artboards.length; i++) { if(artboards[i].visible) { // select ID as we go along var layerID = artboards[i].id; visibleArtboards.push(layerID); } } // Loop over the layers again and select all the art boards for (var i=0; i<visibleArtboards.length; i++) { // add to current selection of layers select_by_ID(visibleArtboards[i], true); } function select_by_ID(id, add) { if (add == undefined) add = false; var desc1 = new ActionDescriptor(); var ref1 = new ActionReference(); ref1.putIdentifier(charIDToTypeID('Lyr '), id); desc1.putReference(charIDToTypeID('null'), ref1); if (add) desc1.putEnumerated(stringIDToTypeID("selectionModifier"), stringIDToTypeID("selectionModifierType"), stringIDToTypeID("addToSelection")); executeAction(charIDToTypeID('slct'), desc1, DialogModes.NO); } // end of selectByID()Sin embargo, agregará el fondo (si está incluido). Estoy seguro de que puedes evitar eso.