Keynote属性未传递给Applescript

时间:2014-05-14 04:50:44

标签: applescript keynote

我需要我的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 个答案:

答案 0 :(得分:0)

我意识到这个问题已经过时了。对于它的价值,刚才看到它,你的脚本对我来说非常好。我使用的是Keynote 7.0.5版本的macOS Sierra(10.12.1)。将脚本复制/粘贴到脚本编辑器中并运行它。说出正确的幻灯片编号,因为我在编辑模式和演示时都在幻灯片之间切换。

Keynote 6.2的脚本界面是否有问题?我见过一个有缺陷的应用程序没有做它所宣传的内容的情况,后来的版本修复了它。你还特别需要这个来对抗Keynote 6.2吗?