Hallo Tino,
hier ist eine Idee. Eine etwas brutale JavaScript-Lösung ...
1. Die Namen der Farbfelder auflisten.
2. Alle Farbfelder umbenennen.
3. Die Namen sortieren.
4. Neue Farbfelder erzeugen. Alte Namen und Properties zuweisen.
5. Die umbenannten löschen und durch die neuen ersetzen.
var curDoc = app.documents[0];
// die Farbfelder des Dokuments
var allSwatches = curDoc.swatches;
// die Namen der Farbfelder auflisten
var colorNames = allSwatches.everyItem().name;
var nColors = colorNames.length;
// eine Schleife durch die Farbfelder, ein "X" an den Namen anfügen
for (var i=4; i allSwatches.name = colorNames+"X";
}
// "None", "Paper", "Black" und "Registration" aus der Namensliste entfernen
for (var i=0; i<4; i++) {
colorNames.shift();
}
// die gekürzte Namensliste sortieren
colorNames.sort();
nColors = colorNames.length;
var curName, newColor;
// eine Schleife durch die sortierte Liste
for (var i=0; i curName = colorNames;
try {
// ... ein Farbfeld erzeugen ...
newColor = curDoc.colors.add();
// ... den entsprechenden Namen aus der Liste zuweisen ...
newColor.name = curName;
// ... und die Properties des aktuellen alten zuweisen
newColor.properties = allSwatches.itemByName(curName+"X").properties;
// das aktuelle Farbfeld entfernen und durch das neue ersetzen
curDoc.swatches.itemByName(curName+"X").remove(newColor);
}
catch (e) {
}
}
Mit einem einfachen Testdokument und nur acht benutzerdefinierten CMYK-Farbfeldern funktioniert das gut.
Ich überlasse es Dir herauszufinden, ob es mit einem echten Dokument aus der Produktion auch klappt.
Wie immer: Einsatz auf eigene Gefahr!
Gruss, Hans