Aktive Zeichenfläche nach Namen im Illustrator festlegen?

Es gibt getActiveArtboardIndexund setActiveArtboardIndex, ich kann das ArtboardObjekt mit bekommen getByName.

Aber wie lege ich die aktive Zeichenfläche nach Namen fest ?

Oder zumindest einen Index vom ArtboardObjekt erhalten?

Antworten (1)

Nicht der eleganteste Weg, aber löst das Problem trotzdem:

var docRef = app.activeDocument;
var ABName = "Artboard Name";
function setActiveArtboardBy(name) {
    var artboard = docRef.artboards.getByName(name);
    for (i = 0; i < docRef.artboards.length; i++) {
        if (docRef.artboards[i] == artboard) {
            docRef.artboards.setActiveArtboardIndex(i);
            break;
        }
    }
}
setActiveArtboardBy(ABName);
Bitte erklären Sie, was dieses Stück Code tut. Nur das Präsentieren des Codes löst alle Leser aus, die nicht verstehen können, was Sie getan haben ...
Kurt, es nimmt das Zeichenflächenobjekt nach Vorname und durchläuft dann alle Zeichenflächen, die damit verglichen werden. Wenn es das richtige herausfindet, setzt es es als aktiv und unterbricht den Kreislauf. Das macht diese Funktion.