Hallo kp,
versuch's mal mit folgendem Skript:
Das Skript versucht zunächst bei Textrahmen mit Überlauf, den Text über die Reduzierung der horizontalen Skalierung einzubringen. Die Schrittweite ist in
myStep definiert.
Wird der Grenzwert
myScalingLimit unterschritten, geht's an die Laufweite.
Zunächst wird der Ausgangswert über den Wert der Laufweite des ersten Buchstabens im Textrahmen festgestellt (oft 0).
Dann wird gefoltert, bis der Textüberlauf weg oder der Grenzwert
myTrackingLimit erreicht ist. Wird dieser erreicht, wählt das Skript den betreffenden Textrahmen aus, zoomt ihn heran und fordert eine manuelle Bearbeitung ein.
Eine Sache ist noch nicht ganz hasenrein:
Hat der Textrahmen keine Verknüpfung mit einem anderen Textrahmen (davor), dann bearbeitet das Skript den Textfluß im Textrahmen (also den gesamten Text). Das dürfte keine Probleme geben.
Ist der Textrahmen aber mit einem anderen Textrahmen davor verknüpft (läuft also Text aus einem anderen Rahmen rein), dann ist das zu bearbeitende Objekt nicht über den Textfluß zu bestimmen, sondern über den Text im Rahmen und was ihm folgt. Hier habe ich etwas geschlampert und so getan, als ob nur noch ein Stück vom letzten Absatz fehlen würde. Problematisch wird es, wenn nach dem Absatz, der nicht mehr ganz Platz hat, ein oder mehrere weitere Absätze folgen.
So wie ich dies schreibe, fällt mir ein, wie das in Griff zu kriegen wäre (range).
Vorab aber mal diese nicht lupenreine Version.
Wenn das Skript zu langsam ist, kannst Du mal an der Schrittschraube drehen (
myStep erhöhen).