Vielleicht benötigt der eine oder andere so etwas unter Windows. Deshalb: Hier die finale Lösung, etwas ergänzt und nach JavaScript portiert.
Es werden die Indizes der Absätze festgestellt. Somit muss man sie nicht komplett auswählen. Wenn nur ein Absatz kopiert werden soll, genügt die blinkende Einfügemarke.
Es werden nur die geläufigsten "Fallstricke" ausgetrickst (Konturstärke, Kontur-Ausrichtung, Abstand zum Rahmen). Für andere (z.B. Rotation oder Sperrung) müsste der Code ergänzt werden.
Gruss, Hans
(Dieser Beitrag wurde von Hans Haesler am 12. Dez 2014, 09:39 geändert)
markierten Text in neuen Rahmen kopieren, Stand soll gleich bleiben
Noch sehe ich für mich keine praktische Anwendung, aber kann ja noch kommen.
Nach ein paar Tests:
Weitere "Fälle":
A. Script bricht mit Fehlermeldung ab, hinterlässt das Dokument etwas unordentlich: 1. Angewählter Text ist Teil eines Übersatzes 2. Angewählter Text ist Inhalt einer Tabellenzelle
Könnte man ganz am Anfang abfangen und den ursprünglichen Zustand des Dokuments wiederherstellen (die Meassurements) oder erst gar nicht umstellen.
Test der Auswahl auf Text innerhalb einer Tabellenzelle nach erster Prüfung auf "undefined":
Der Test für Übersatz kann komplizierter ausfallen, muss aber nicht, wenn wir einfach darauf bestehen, dass der Textabschnitt keinen Übersatz aufweisen darf:
Nach der Prüfung auf Text einfügen:
Noch eine Frage zum Alert: Das zweite Argument "Stop" wird ja unter Mac OSX nicht gezeigt. Ich nehme mal an, dass das unter Windows als Titel der Alertmeldung erscheint. Ah ja. Keine Frage mehr: Hab's gerade in der DOM Dokumentation nachgeschaut:
Argument 2 und 3 des Alerts werden unter OSX ignoriert. ***** Mit herzlichem Gruß, Uwe Laubender
markierten Text in neuen Rahmen kopieren, Stand soll gleich bleiben
Der gepostete Code geht schon weit über die vom OP gestellten Anforderungen hinaus. Deshalb werde ich dieses Script nur auf Anfrage ausbauen.
Bei einer Tabellenzelle könnte man auf den Ansatz umschalten, auf welchem die erste Lösung im AppleScript-Forum beruht: – die Auswahl kopieren; – die Auswahl aufheben; – den Inhalt der Zwischenablage einsetzen; – dem neuen Textrahmen die Positionswerte zuweisen.
Zu Deiner Frage, den Alert betreffend: Ja, das hast Du richtig erkannt. Das "Stop" erscheint nur unter Windows im Balken des Dialogs. Und ohne dieses zweite Argument wird dort "Script Alert" gezeigt (wenigstens mit meinem alten Windows XP).
Das dritte Argument, hingegen, wird unter Mac OS X nicht ignoriert. Ausprobieren (getestet mit CS5):
Das 'false' ist nicht notwendig, weil Vorgabewert. Mit 'true' wird ein anderes Icon gezeigt.
Gruss, Hans
markierten Text in neuen Rahmen kopieren, Stand soll gleich bleiben
Danke für den Hinweis und den Test mit dem alert(). Tja, traue niemals einer DOM-Doku…
Ja. Das dritte Argument wird nicht ignoriert. Das Icon fällt je nach InDesign-Version unterschiedlich aus. Ab CS5 gelbes Dreieck mit kleinem InDesign-Logo. Vor CS5 nur das InDesign-Logo ohne gelbes Dreieck.