Voilà. Il y a eu quelques ajustements mineurs à faire pour que le script fonctionne, ce que vous verrez en le lisant.
L'essentiel est de prendre l'habitude de n'envoyer à une application que les commandes qui doivent être envoyées à l'application. Les autres commandes sont souvent mieux exécutées en dehors de l'application tell
afin que les terminologies ne soient pas confondues. Par exemple, dans ce cas, je suis presque sûr que Pages -ainsi que d'autres applications qui utilisent le iWork Suite des commandes AppleScript - ont leur propre spécificateur d'objet appelé text item
qui est distinct de celui que vous essayez d'employer dans votre script.
Le problème initial a toutefois été résolu de la même manière en fixant la variable à la valeur alias
renvoyée par choose file
en dehors de la Pages tell
mais sans oublier d'utiliser le bloc alias
à l'intérieur du tell
pour ouvrir le fichier, en utilisant le bloc open
commande.
set MYTESTFILE to (choose file)
tell application "Pages"
set MYTESTFILE to open MYTESTFILE
properties of MYTESTFILE
copy body text of MYTESTFILE to theText
end tell
set toFind to "Guy"
set toReplace to "Gal"
set astid to AppleScript's text item delimiters
set AppleScript's text item delimiters to toFind
set textItems to theText's text items
set AppleScript's text item delimiters to toReplace
tell textItems to set editedText to beginning & toReplace & rest
set AppleScript's text item delimiters to astid
tell application "Pages" to set body text of MYTESTFILE to editedText