我设置了邮件规则以启动以下AppleScript:
using terms from application "Mail" on perform mail action with messages theMessages for rule theRule tell application "Mail" -- do stuff, including... CheckAddressBook(theName, theAddress) end tell end perform mail action with messages end using terms from on CheckAddressBook(theName, theAddress) tell application "Address Book" -- do stuff end tell end CheckAddressBook
每当执行此邮件规则时,它都会启动通讯簿。它没有激活,但突然出现在我的桌面上。我的问题是,是否可以告诉块以静默方式启动应用程序,并在完成后退出?
答案 0 :(得分:4)
AppleScript无法在没有运行的情况下控制应用程序。这就是它的工作方式。您可以使用其他方法在不启动应用程序的情况下访问通讯簿数据库,但如果您使用AppleScript从通讯簿数据库获取数据,则应用程序必须启动。我的建议是简单地按照Fábio的建议添加一个退出命令。
答案 1 :(得分:2)
要在不启动“Address Book.app”的情况下阅读地址簿数据库,我建议您查看免费here可用的命令行工具“contacts”。然后,您将从Applescript运行它,如do shell script "/usr/bin/contacts Peter"
并处理返回的值。