Использование AppleScript для скрытия текстовых полей Keynote на слайде
-
02-07-2019 - |
Вопрос
Я не джедай AppleScript, я сделал всего несколько простых вещей, но не смог разобраться в этом и мне нужна помощь:
Моя жена использует слайды на курсах истории искусств и хотела бы использовать те же слайды на экзаменах (без указания имен).Вместо того, чтобы создавать новую презентацию, мне нужен инструмент, который перебирает слайды и скрывает текстовые поля.
Просмотр словаря Keynote не дал мне никаких подсказок о том, как к этому подойти, есть идеи?
Решение
AFAIK, с помощью Applescript вы можете получить доступ только к заголовку и телу слайдов.Если текст, который вы хотите удалить, постоянно находится в любом из этих полей, самым простым решением было бы пройтись по слайдам, заменив этот текст, а затем сохранить копию документа.
tell application "Keynote"
open "/Path/To/Document"
repeat with currentSlide in slides of first slideshow
set title of currentSlide to " "
set body of currentSlide to " "
end repeat
save first slideshow in "/Path/To/Document without answers"
end tell
Если текст находится в контейнере, созданном с помощью инструмента текстового поля, я не думаю, что вы сможете решить эту проблему с помощью Applescript, но Keynote использует формат файла на основе XML, поэтому вы можете попробовать сделать это, отредактировав XML с помощью выбранного вами языка сценариев. .Схема XML документирована в Руководство по программированию iWork.