Aquí tienes. Hubo que hacer unos pequeños ajustes para que el script funcionara, que verás cuando lo leas.
Lo principal a tener en cuenta es acostumbrarse a enviar a una aplicación sólo los comandos que deben enviarse a la aplicación. El resto suele realizarse mejor fuera de la tell
para que no se mezclen las terminologías. Por ejemplo, en este caso, estoy bastante seguro de que Páginas -junto con otras aplicaciones que utilizan el Suite iWork de los comandos AppleScript- tienen su propio especificador de objeto denominado text item
que es distinta de la que intentas emplear en tu script.
El problema original, sin embargo, se resolvió de forma similar estableciendo la variable en el valor alias
devuelto por choose file
fuera del Páginas tell
pero sin olvidarse de utilizar el bloque alias
dentro del tell
para abrir realmente el archivo, utilizando el bloque open
mando.
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