Vor ein paar Tagen wandte sich ein Freund mit folgendem Anliegen an mich:
Spontan dachte ich, das ist mit JavaScript nicht möglich.
Dafür braucht's wg. einer programmübergreifenden Aktion AppleScript bzw. VBA.
Doch dann kam mir die Idee, es mit einem temporären Hyperlink zu versuchen.
Und mit der folgenden Skizze klappte es im Prinzip auch auf Knopfdruck (also manueller Start aus der Skriptpalette oder über Tastaturbefehl:
Hier die Version für's Kontextmenü (am besten im Startup Skript-Ordner ablegen):
Im Moment knabbere ich noch an zwei Problemen:
1. Wie gehe ich mit der Möglichkeit um, daß im ausgewählten Text bereits ein Hyperlink stecken kann und ihm deswegen nicht nochmals ein temporärer Hyperlink zugewiesen werden kann?
2. Wie gehe ich mit Sonderzeichen um, die als eingeklammerter Unicodewert übergeben werden? Z.B. 'Naz<014D>raîos' – das '<014D>' steht für ein 'o' mit Macron (Balken drüber).
Zu 1. gäbe es die Möglichkeit, im gegebenen Fall den Textinhalt (ohne Hyperlink) in einen temporären Textrahmen zu platzieren und dort die weiteren Operationen für einen temporären Hyperlink zu erledigen, so dass das Original unangetastet bleibt.
Zu 2. könnte ich mir vorstellen, dass man die Sonderzeichen irgendwie greifen kann (Ziffer in spitzen Klammern herausfiltern und durch Irgendwas kodieren). Aber was wäre das Schema für dieses
Irgendwas?
Ferner hatte ich noch an einem Schönheitsfehler geknabbert:
Durch diesen temporären Hyperlink, der am Ende wieder gelöscht ist, bekommt das möglicherweise zuvor frisch gesicherte Dokument doch den Geändert-Status. Wie könnte man dem vorbeugen? Statt der remove()-Befehle undo()-Befehle verwenden. Aber das war mir zu unspezifisch und deswegen risikobehaftet.
Inzwischen habe ich an dem Kontextskript in der obigen Form selbst Gefallen gefunden.
Damit schlage ich gerne mal einen Namen oder bibliographische Angaben nach, die mir etwas unklar bzw. schlecht leserlich zur Korrektur/Ergänzung angewiesen werden.