Hallo TMA,
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:
//RemoveUnusedSwatches.js
var uuSwatches = app.documents[0].unusedSwatches;
for (var i=0; i[nbsp] if (uuSwatches.name != "") {
[nbsp] [nbsp] try {
[nbsp] [nbsp] uuSwatches.remove();
[nbsp] [nbsp] }
[nbsp] [nbsp] catch (e) {
[nbsp] [nbsp] }
[nbsp] }
}
Jetzt blieben auch fahrlässig erstellte Verläufe unverändert.
Doch Du hättest lieber ein AppleScript ;-)...
---
[#0000FF]
tell[/#] [#0000FF]document[/#] 1 [#0000FF]
of[/#] [#0000FF]application[/#] "Adobe InDesign CS2"
[#0000FF]activate[/#]
[#0000FF]
set[/#] [#408000]uuSwatches[/#] [#0000FF]
to[/#] [#0000FF]unused swatches[/#]
[#0000FF]
repeat[/#] [#0000FF]with[/#] [#408000]i[/#] [#0000FF]
from[/#] 1 [#0000FF]
to[/#] [#0000FF]count[/#] [#0000FF]
of[/#] [#408000]uuSwatches[/#]
[#0000FF]
if[/#] [#0000FF]name[/#] [#0000FF]
of[/#] ([#0000FF]item[/#] [#408000]i[/#] [#0000FF]
of[/#] [#408000]uuSwatches[/#]) [#0000FF]
is[/#] [#0000FF]not[/#] "" [#0000FF]
then[/#]
[#0000FF]
try[/#]
[#0000FF]delete[/#] ([#0000FF]item[/#] [#408000]i[/#] [#0000FF]
of[/#] [#408000]uuSwatches[/#])
[#0000FF]
end[/#] [#0000FF]try[/#]
[#0000FF]
end[/#] [#0000FF]if[/#]
[#0000FF]
end[/#] [#0000FF]repeat[/#]
[#0000FF]
end[/#] [#0000FF]tell[/#]
---
Aber bitte auf eigene Verantwortung einsetzen.
Gruss, Hans