Как выбрать одно указанное c изображение на текущем слайде в текущем документе Keynote? - PullRequest
0 голосов
/ 25 февраля 2020

Используя AppleScript, я хочу изменить положение x и y определенного изображения на каждом слайде документа Keynote. Когда Keynote запущен и активирован, работает следующий код ...

tell the front document
   set the current slide to slide 1
   tell the current slide
      set thisImage to image 1
      set position of thisImage to {10,10}
   end tell -- current slide
end tell -- front document

... но это слишком fr agile. Если мое изображение не первое («изображение 1»), то я буду менять положение неправильного объекта. Я не могу найти ничего в словарях сценариев или в онлайн-примерах о выражении спецификатора объекта для определенного изображения. Я пробовал несколько вариантов таких вещей, как ...

set thisImage to image with file name "my-file.png"

... безрезультатно. Любой совет приветствуется. Спасибо!

1 Ответ

1 голос
/ 01 марта 2020

Это работает в Keynote 8.2, но, честно говоря, я не уверен, почему.

set thisImage to image {name:"my-file.png"}

Однако, если вы хотите спросить thisImage , что его имя означает, что вы должны запросить его имя файла , например ...

file name of thisImage

Каждый раз, когда я использую любое программное обеспечение для презентаций, мне как-то нравятся они все меньше.

У вас есть некоторая избыточность (вокруг «текущего слайда»), поэтому вот мой вывод:

tell slide 1 of the front document
    set thisImage to image {name:"my-file.png"}
    set position of thisImage to {10, 10}
end tell

Наконец, поскольку ваша цель состоит в том, чтобы циклически проходить через каждый слайд в колоде, вы можете попробовать это:

tell front document
    repeat with i from 1 to count of slides

        tell slide i to set position of image {name:"my-file.png"} to {10, 10}

    end repeat
end tell
...