Я могу сократить ваш сценарий до этого:
tell application "QuickTime Player" -- Get the iCloud file path to avoid permission error set filePath to "Macintosh HD:Users:jm:Library:Mobile Documents:com~apple~QuickTimePlayerX:Documents:movie.wav" -- Get a handle to the initial window stop the document named "Audio Recording" -- Get second handle to new titled window save the document named "Untitled" in filePath -- Get third handle to new titled window close the document named "movie.wav.qtpxcomposition" saving no end tell
Как я уже говорил в моем комментарии, это излишнее, чтобы получить окно - х id
по ИТС name
, только потом извлечь его name
из этого id
. Вы можете ссылаться на document
имя, которое у вас уже есть (если документ с таким именем не существует, он выдаст ошибку; но то же самое относится и к вашему исходному сценарию). Чтобы избежать этого, вы можете сначала проверить, существует ли он:
tell document named "Audio Recording" to if it exists then stop
Эта activate
команда казалась ненужной, поскольку ни одна из следующих команд не требует, чтобы QuickTime был в фокусе.
Наконец, переменная f
была избыточной.