Applescript с Keynote. Доступ к фигурам на слайде

У меня есть шаблонный файл Keynote с несколькими слайдами, и все слайды содержат по 2 фигуры. Я хочу иметь возможность сказать что-то вроде: «Эй, дайте мне форму 2 слайда 2». Цель этого состоит в том, чтобы я мог добавлять текстовые элементы непосредственно в эту форму. ниже приведен код, который у меня есть прямо сейчас.

Я использую последнюю версию Keynote 6.5.2 и Yosemite.

  tell application "Keynote"

        activate

        tell document 1

            set anniversary to "Anniversaries"
            set myShape to shape 2 of slide 2
            tell myShape 
                set thisTextItem to make new text item with properties {object text:anniversary}
                #log thisTextItem
                tell thisTextItem
                    set the size of its object text to 144
                    set the color of its object text to "blue"
                end tell

            end tell

        end tell

    end tell

Я могу сказать, что слайд 2 сам по себе, и, конечно, я получаю большой текстовый элемент для слайда 2 с текстом «Годовщины» и окрашен синим цветом, но это единственный слайд 2 ... не в форме 2 слайда 2.

С этим кодом у меня появляется всплывающая ошибка при запуске скрипта:

Результат:

ошибка «В Keynote произошла ошибка: невозможно создать или переместить этот элемент в этот контейнер». номер -10024

Что это значит? у меня нет доступа к фигурам в слайдах?? Любая помощь/информация/примеры установки текста в форме, которая находится внутри слайда, была бы полезна. Спасибо!


person cspam    schedule 28.01.2015    source источник


Ответы (1)


Вы можете установить свойства текста в фигуре, вы не можете вставить объект text item в фигуру.

tell application "Keynote"
    tell document 1
        tell shape 2 of slide 2
            set object text to "Anniversaries"
            tell object text
                set it's size to 44
                set it's color to {0, 0, 65535} -- blue
            end tell
        end tell
    end tell
end tell
person jackjr300    schedule 29.01.2015
comment
благодаря. Я понял это наверняка после исследования. Возник еще один вопрос, если хотите посмотреть :) - person cspam; 29.01.2015