> Du musst den Swatch mitgeben, nicht den Names des Swatch!
Aber nicht 'myDocument.swatches.itemByName ("rot")'. ;-)
Hier gibt es einen Bug in InDesign CS3. Beim Suchen/Ersetzen lässt sich das Farbfeld eines Dokuments nicht addressieren.
Workaround: Das Farbfeld, das im Dokument bereits vorhanden ist, auch auf Programmebene erzeugen, dann in der Suche-Ersetze-Funktion verwenden und anschließend wieder löschen (auf Applikationsebene, nicht auf Dokumentebene).
Dein Code zum workaround gefällt mir besser als alle meine eigenen Lösungen. Deswegen reiß' ich mir den jetzt klammheimlich unter den Nagel und tu' so, als sei ich selber schlau. ;-)
Ich verstehe nicht ganz, warum Du die Farbe zuerst im Dokument anlegst, um sie dann (wegen dem Bug) in der Anwendung anzulegen um sie dann anschliessend wieder zu löschen..... Hmmm....
Ich dachte, die Farbe existiert bereits im Dokument.
Du kannst die Farbe auch einfach in der Application erstellen um sie dann zu nutzen! Sie wird dann automatisch auch im Dokument angelegt, wenn Du die gefundenen Wörter hinterlegst.
Aber warum löschst Du dann am Schluss die Farbe aus dem Dokument?
Wenn Du sie aus dem Dokument auch löschst, dann sind die Wörter doch auch nicht mehr in der Farbe hinterlegt !?!?!? *wunder*
Gruß, Marc
P.S.: @Martin: mich wundert zwar, dass Dir ausnahmsweise mein Code gefällt, aber Du kannst ihn gerne übernehmen... *grins*
bei mir wurde in den Farbfelder jeweils ein weiteres Farbfeld "rot1" oder "rot2" zugefügt.
Vielleicht habe ich irgendwas vermurxst.
Vielleicht wird das Farbfeld in den Farbfeldern angelegt, wenn es in die Voreinstellungen von Indesign übergeben wird. Oder die Farbe wird hinzugefügt weil beim Testen das Script gelegentlich nicht vollständig ausgeführt wurde.
Ich schau mir das später genauer an und gebe Bescheid. Alleine die Farbe zuweisen zu können ist super ...