In CS2 gibt es die schöne Option "Ohne Formatierung einfügen" (Mac: Befehl + Umschalt + V / Windows: Ctrl + Shift + V).
Nun habe ich aber festgestellt, dass bei dieser Aktion auch Absatz- und Zeichenformate sowie Farben, welche in der Auswahl angewendet sind, ins Zieldokument kopiert werden, falls sie dort nicht vorhanden sind.
Das ist meistens nicht erwünscht. Deshalb habe ich versucht, ein Script zu schreiben, welches "sauberer" arbeitet. Bei der ersten Version war das Problem nicht behoben. Erst als ich im Quelldokument den kopierten Text zum Reinigen in einen temporären Rahmen zwischenlagerte, unterblieb das "hilfreiche" Ergänzen.
Das folgende Script prüft die Auswahl. Wenn es Text ist, dann wird dieser in die Zwischenablage kopiert. Wenn nur die Einfügemarke blinkt, dann wird versucht, den Inhalt der Zwischenablage einzufügen.
Das isText()-Objekt habe ich mir von Dave Saunders geliehen. ;-)
Im obigen Ansatz wird der Inhalt der Auswahl dem temporären Textrahmen direkt zugewiesen (ohne copy & paste). Anschließend wird der Inhalt des temporären Textrahmens in die Zwischenablage kopiert und die ursprüngliche Auswahl wieder hergestellt.
Das Einfügen funktioniert wie bei Dir. Auf das try-Kommando habe ich verzichtet. Gibt es tatsächlich eine Fehlermeldung, wenn beim Versuch, etwas einzufügen, nichts in der Zwischenablage ist? Um dies zu überprüfen wollte ich meinen Rechner nicht extra neu starten (kann man die Zwischenablage auch anders auf null setzen?).
Was ich bei Deinem Ansatz nicht verstehe: Warum fügst Du das Zeichen "s" in den temporären Textrahmen ein? Um es hinterher auszuwählen und den Inhalt der Zwischenablage in die Auswahl reinzukopieren? Dazu würde es ausreichen, wenn Du den insertionPoint[0] des temporären Textrahmens auswählen würdest.
Das Dave-Saunders-isText()-Objekt kenne ich, habe es aber noch nie verwendet.
Das direkte Einsetzen ist natürlich vorzuziehen. Und: Gute Idee, die Auswahl wiederherzustellen!
Ja, es gibt eine Fehlermeldung, wenn das Script versucht, nicht vorhandenen Inhalt der Zwischenablage einzusetzen. Das hatte ich aber nur geahnt und erst jetzt ausprobiert (ohne Neustart des Rechners, nur die Session beendet). Den 'try'-Wickel hatte ich aber eigentlich nur so, für alle Fälle eingebaut. Deshalb ist auch die Meldung allgemein gehalten.
Die Sache mit dem "s": Dadurch hatte ich eine optische Meldung, dass etwas kopiert worden ist. Zuvor hatte ich schon versucht, den 'insertionPoint[0]' auszuwählen. Klappte aber nicht. Erst soeben ist es mir gelungen, nachdem ich das Mehrzahl-"s" eingefügt habe: 'insertionPoints[0]'.
Das direkte Einsetzen werde ich übernehmen. Und vielleicht auch die Wieder- herstellung der Auswahl. Mit Angabe des Beraters!
Habe die beiden Skripts ausprobiert; leider funktionieren diese nicht für Tabellen. Gäbe es hierzu eine alternative? Ich muss derzeit Tabellen von einer alten in eine neue Vorlage kopieren, wobei das Layout gänzlich ändert (Font, Farben, Konturstärke usw.). Hierbei wäre es SEHR hilfreich, wenn ich die Funktion "ohne Formatierung einfügen" effektiv nutzen könnte.
ich würde mich dem, wenn auch älteren, Post von Roli anschließen. Da ich aktuell auch aus einem riesen Katalog unzählige Tabellen in ein neues Dokument versetzen muss, OHNE die bestehende Formatierung.
Danke & LG
(Dieser Beitrag wurde von mindkicks am 8. Jul 2021, 12:03 geändert)