ein indesign cs2 dokument hat ein objekt deren hintergrundfarbe mit einem verlauf versehen ist (meinetwegen cyan zu weiß). die verlaufsfarben wurden aber nicht als extra farbe in der farbfeld-palette angelegt sondern nur über die farbe-palette definiert.
wenn ich jetzt in indesign direkt in der farbfeld-palette alle unbenutzten farben auswähle und lösche läuft alles richtig.
wenn ich aber über applescript den befehl:
benutze, wird der cyan zu weiß verlauf verändert. die farbe cyan wird durch schwarz ersetzt, da dieses cyan (kein reines cyan) nicht als farbfeld angelegt war.
wie bekomme ich nun die unbenutzten farben eines dokumentes per as gelöscht, so das benutzte aber nicht angelegte farbfelder nicht gelöscht werden?
ich kann Deine Beobachtung bestätigen. Wenn eine Reglerfarbe eines Verlaufsfeldes als CMYK definiert ist – statt als Farbfeld –, dann wird sie beim "Aufräumen" per Script durch "[Schwarz]" ersetzt.
Ein Gegenmittel gibt es nicht. Es bleibt Dir nichts anderes übrig, als die unbenutzten Farbfelder manuell zu löschen, wenn sie wirklich entfernt werden müssen.
beim ersten Versuch war es dasselbe "Elend". Zudem ist es sehr wahrscheinlich mit JavaScript nicht möglich, die unbenutzen Farbfelder auf einen Schlag zu entfernen.
Ich musste eine Schleife einrichten. Kein Erfolg. Aber da kam ich auf die Idee, die einzelnen Elemente der Liste näher zu betrachten. Und siehe da:
Jetzt blieben auch fahrlässig erstellte Verläufe unverändert.
Doch Du hättest lieber ein AppleScript ;-)... --- tell document 1 of application "Adobe InDesign CS2" activate set uuSwatches to unused swatches repeat with i from 1 to count of uuSwatches if name of (item i of uuSwatches) is not "" then try delete (item i of uuSwatches) end try end if end repeat end tell --- Aber bitte auf eigene Verantwortung einsetzen.
hi hans, klappt super! besten dank für deine mühen. bei genauerem überlegen ist dies eigentlich logisch, unbenutzte farben die keinen namen haben einfach zu löschen.