Applescript - 在PowerPoint演示文稿中创建新幻灯片失败,因为它没有足够快的加载速度

时间:2015-04-15 19:46:12

标签: applescript

以下是AppleScript的示例:

tell application "Microsoft PowerPoint"
    activate
    if active presentation exists then
    else
        make new presentation
    end if
    set newSlide to make new slide at the end of active presentation
    make new picture at newSlide with properties {file name:"blahblahHFSfilepath", height:100, width:100, lock aspect ratio:true}
end tell

这有效 - 但仅限PowerPoint已打开。如果它未打开,则此脚本将打开PowerPoint,并创建新的演示文稿。然后它尝试创建一个新幻灯片,但因为当PowerPoint首次加载时,尚未创建演示文稿,所以会发生错误。我认为这是问题所在,因为如果我在delay 1行之后添加make new presentation,它就会起作用。

有没有办法可以确定如果正在创建演示文稿,那么制作新的幻灯片?或者在这种情况下延迟是最好的路线?我担心的是,较旧的机器可能需要更长的时间来创建演示文稿。

对我而言,我认为我只需要有一个类似于"等到新的演示文稿创建,然后创建新的幻灯片"但我无法弄清楚如何做到这一点。

任何AppleScripters都知道一个简单的解决方案吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

make new presentation的结果放入变量中,使用此变量代替active presentation

试试这个:

tell application "Microsoft PowerPoint"
    activate
    if active presentation exists then
        set aPres to active presentation
    else
        set aPres to make new presentation
    end if
    set newSlide to make new slide at the end of aPres
    make new picture at newSlide with properties {file name:"blahblahHFSfilepath", height:100, width:100, lock aspect ratio:true}
end tell