Hallo Christoph,
das Script ist auf Geschwindigkeit ausgerichtet: Dank den beiden 'my' ist der Zugriff auf die Listen
schneller und dank 'every text' wird das Ersetzen praktisch auf einen Schlag vorgenommen.
Damit nur ganze Wörter ausgetauscht werden, könntest Du bei den Begriffen je hinten und vorne einen
Zwischenraum einfügen. Aber damit würden Worte, welche am Anfang eines Absatzes stehen oder von vor-
oder/und nachgestellten Satzzeichen umgeben sind, nicht erfasst.
Deshalb müsste man komplizierte Bedingungen einschieben – und schon klappt es mit 'every' nicht mehr.
Denn dann muss jeder gefundene Fall untersucht werden. Ich werde gelegentlich versuchen, eine
entsprechende Lösung zu finden. Ich melde mich wieder.
Übrigens: was bezweckst Du mit dem 'giving up after 10000'? Soll der Dialog 10000 Sekunden lang sichtbar
bleiben? Das Problem ist, dass wenn die Meldung länger als eine Minute angezeigt bleibt, nach dem Klick
auf "OK" eine Fehlermeldung erscheint. Es ist also besser, in diesem Fall auf das 'giving up' zu verzichten und
einen 'timeout'-Wickel einzubauen:
---
with timeout of 300 seconds
display dialog "Fertich." buttons "OK" default button 1 with icon 1
end timeout
---
Mein ursprüngliches 'giving up after 1' war benutzerfreundlich gedacht. Die Meldung erscheint, verschwindet
aber nach einer Sekunde wieder, ohne dass der Anwender auf den "OK"-Button klicken muss.
Gruss, Hans