Na, wenn zwei ausgesprochen kompetente Scripter extrem entsetzt sind, werde ich ja schon neugierig.
Erster Versuch: könnte man nicht stattdessen itemByRange nehmen?
Antwort: Im Prinzip ja, aber da dürfen auch keine gleichnamigen Objekte vorkommen. Genauer: von den gleichnamigen wird nur das erste gefunden.
Was ginge, wenn die entsprechenden Objekte Script-erzeugt sind: einen Namen mit Timestamp erzeugen. Man hat dann also nicht Objekte "rubrique" sondern "rubrique123456789".
Aber das ist nicht ansatzweise hübsch genug, um den Ansatz hier weiter zu verfolgen.
Trotzdem sinnvoll zu wissen, dass xxx.itemByRange("frame1", "frame999") wie gehabt tausend Objekte greift, unter der Voraussetzung, dass "frame1" und "frame999" tatsächlich vorhanden sind.
Zweite Frage: Ist es wirklich so punishing (Gibt es da ein vernünftiges deutsches Wort für?), wenn man seine eigene itemsByLabel Funktion schreibt?
Skizze zum selber weiterschreiben:
Die Funktion "pageItemsByLabel" ist eine Studie in "Wie man es nicht machen sollte".
Die Funktion "manyPageItemsByLabel" hingegen liefert mir bei einem Dokument mit rund 2000 pageItems, von denen jedes zweite das gewünschte Label hat, ein Array in weniger als zwei Zehntel Sekunden zurück.
Ich persönlich kann mit der Performance leben...