我尝试过使用Outlook 2011: Adding some messages to "Waiting for reply" folder中的脚本。基本上,当我撰写Outlook邮件并按Ctrl-Shift-W(在脚本名称中指定)时,它会尝试发送邮件,在已发送文件夹中找到它并将其移动到“等待”文件夹。为了确保Outlook有机会发送邮件,它会在重复发送邮件之前尝试延迟。
不幸的是,延迟不起作用(它没有延迟),使其失败。检查do shell script "sleep 1s"
表示Outlook被卡住,并且在脚本失败之前不会发送消息。
我认为在执行任何后台任务之前,outlook正在等待脚本结束。所以脚本需要在后台运行。也许启动一个辅助脚本或类似的东西。
问题是我不知道该怎么做。因此这个问题......
答案 0 :(得分:0)
虽然AppleScript确实有自己的睡眠方法(延迟),但您可能正在寻找的是空闲处理程序。如果将脚本保存为应用程序并选中“在运行处理程序后保持打开”,Mac OS X将在“运行”处理程序完成后立即调用脚本的空闲处理程序。然后,您的空闲处理程序返回应该调用 next 时间的秒数;这可以无限期地发生。在您的情况下,它可能看起来像这样:
global messageID
on run
-- send message
-- set messageID to whatever you are using as the just-sent message’s identifier
end run
on idle
--check whether message exists in the sent folder
--note that this is just pseudocode, you’ll need to change it for your purposes
if exists messageID in sent folder then
--do something with it
quit
else
--wait another second
return 1
end if
end idle
这将每秒重复一次空闲,直到满足 if 中的条件,此时它将执行任务并退出脚本。
答案 1 :(得分:0)
您可以尝试这样的事情:
ignoring application responses
tell application "Microsoft Outlook"
--send code goes here
sync
end tell
end ignoring
delay 5
tell application "Microsoft Outlook"
-- Find code goes here...
end tell