以下是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都知道一个简单的解决方案吗?
谢谢!
答案 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