Свойства Keynote не передаются в Applescript
Мне нужен мой Mac, чтобы сказать номер текущего слайда при презентации. Я написал скрипт ниже, но он не работает, как ожидалось.
on slideNumber()
tell application "Keynote"
return the slide number of the current slide of the front document
end tell
end slideNumber
repeat
say slideNumber()
delay 1
end repeat
Когда я запускаю, это правильно скажет текущий номер слайда в Keynote, однако, если я перейду к Keynote и поменяю слайды, или начну представлять слайды, Applescript не обновит номер слайда. Если я вернусь в окно Applescript, оно сразу начнет говорить правильный номер слайда.
Я также попробовал это с помощью:
on idle
say slideNumber()
return 1
end idle
и экспорт в виде открытого приложения, но возникает та же проблема.
Разве невозможно, чтобы приложение Applescript вернуло правильный номер слайда без приложения / скрипта, находящегося на переднем плане? Я использую Keynote 6.2, если это актуально.
1 ответ
Я понимаю, что этот вопрос старый. Что бы это ни стоило, увидев это только сейчас, ваш сценарий прекрасно работает для меня. Я на MacOS Sierra (10.12.1) с использованием Keynote версии 7.0.5. Скопируйте / вставьте ваш скрипт в Script Editor и запустите его. Произносит правильный номер слайда, когда я переключаюсь между слайдами как в режиме редактирования, так и во время презентации.
Возможно, что-то не так с интерфейсом сценариев Keynote 6.2? Я видел случаи, когда приложение с ошибками просто не делает то, что рекламирует, и более поздняя версия исправляет это. Вам все еще нужно это для работы с Keynote 6.2?