Die Aufgabenstellung hat mich gereizt.
Eine mögliche Lösung wäre für mich hin und wieder interessant.
Deswegen habe ich diesmal etwas länger rumgetüftelt.
Beim unten stehenden Skript bin ich mir noch nicht 100%ig sicher, ob es tatsächlich das tut, was ich mir vorstelle. Deshalb bin ich für jede Rückmeldung dankbar.
Das Skript soll folgendes tun:
1.
Wenn kein Objekt ausgewählt ist, erscheint ein Dialog, in dem ein Farbfeld ausgewählt werden kann. Anschließend wird das Objekt gesucht und (falls eins gefunden wird) ausgewählt und angezeigt (hergezoomt).
2.
Wenn ein Objekt gewählt ist, erscheint ebenfalls ein Dialog zur Auswahl eines Farbfeldes.
Im DropDown-Menü wird die Farbinformation des ausgewählten Objekts berücksichtigt - und zwar in der Reihenfolge Füllfarbe - Konturfarbe.
a. Wenn die
Füllfarbe des Objekts eine andere als "[Keine]" ist, dann wird diese als Default im DrowDown-Menü des Dialogs angezeigt.
b. Wenn die
Füllfarbe des Objekts = "[Keine]" ist, dann wird die Konturfarbe des Objekts als Default im DropDown Menü des Dialogs angezeigt - selbst wenn diese "[Keine]" ist.
3. Nach der Farbauswahl wird ein Objekt mit der gewählten Farbe gesucht.
a. Wenn vor Start des Skripts kein Objekt ausgewählt war, dann wird das erste Objekt ausgewählt und angezeigt (
Anfangssuche).
b. Wenn ein Objekt ausgewählt war und wenn das Objekt die im Dialog ausgewählte Farbe als Füll- oder Konturfarbe enthält, dann wird das nächste Objekt ab dem nächsten Druckbogen gesucht (
Weitersuchen).
c. Wenn ein Objekt ausgewählt war und wenn das Objekt die im Dialog ausgewählte Farbe als Füll- oder Konturfarbe nicht enthält, dann wird das erste Objekt (von vorne) gesucht, das die gewünschte Farbe enthält (
Anfangsuche).
Das hört sich jetzt etwas kompliziert an.
Vielleicht löst sich der Knoten beim Ausprobieren.
Wenn die Farbbedingung auf mehrere Objekte einer Doppelseite zutrifft, dann wählt das Skript ein Objekt (unabhängig von den Koordinaten, abhängig vom "Index" des Objekts).