Marcel1
Hallo Marcel,
vielleicht verstehe ich noch nicht den genauen Hintergrund deines Codebeispiels, aber könnte man nicht direkt alle Graphics-Elemente des gesamten Dokumentes durchgehen? Warum seitenbezogen? Mein Vorschlag in Javascript:
// Toggle two layers of as graphics placed InDesign documents
// Make sure you have an active document
if (app.documents.length > 0) {
try {
var doc = app.activeDocument;
var linkCount = doc.allGraphics.length;
for (i = 0; i < linkCount; i++) {
var myLink = doc.allGraphics[i];
if (myLink.imageTypeName == "InDesign") {
if (myLink.graphicLayerOptions.graphicLayers.itemByName("DE").isValid && myLink.graphicLayerOptions.graphicLayers.itemByName("EN").isValid) {
var DE_Layer = myLink.graphicLayerOptions.graphicLayers.itemByName("DE");
DE_Layer.currentVisibility = !DE_Layer.currentVisibility;
myLink = doc.allGraphics[i];
var EN_Layer = myLink.graphicLayerOptions.graphicLayers.itemByName("EN");
EN_Layer.currentVisibility = !EN_Layer.currentVisibility;
}
}
}
} catch (e) {
alert("Error: " + e.message + "\nMake sure both layer names exist.");
}
} else {
alert("Please open a document first.");
}
Ehrlich gesagt verstehe ich nicht, wieso man die myLink-Referenz für "EN" ein zweites Mal anlegen muss, aber ohne wirft der Code einen Fehler.
Viele Grüße
Thomas