检查事件是否发生在今天的Applescript



是否有一种方法来编写AppleScript检查iCal ?我想做一个AppleScript来做:如果事件是今天然后做一个任务

或逆:if事件是而不是然后今天做一个任务

谢谢;-)

要检查日期是否在特定的一天内,您必须从日期(和当前日期)中减去time部分,这实际上将时间设置为0:00:00

这个处理程序接受一个Calendar事件,如果事件的开始日期是今天,则返回true

on isEventInToday(theEvent)
tell application "Calendar"
tell (current date) to set startOfToday to it - (its time)
tell (get start date of theEvent) to set startOfEvent to it - (its time)
return startOfToday is equal to startOfEvent
end tell
end isEventInToday

如果此处理程序被多次调用,则在处理程序之外创建startOfToday并将其作为第二个参数传递。

另一种选择是AppleScriptObjC,它可以访问Foundation框架

use AppleScript version "2.5"
use framework "Foundation"
use scripting additions
on isEventInToday(theEvent)
tell application "Calendar" to set startDate to start date of theEvent
set currentCalendar to current application's NSCalendar's currentCalendar()
return (currentCalendar's isDateInToday:startDate) as boolean
end isEventInToday

日历。app自己检查事件何时应该在指定的开始时间执行附加警报的事件。您可以向日历指示。app在事件开始时间之前执行附加的警报也一样。提供的警报之一是打开文件提醒,这是你的情况下所需要的。

  1. 创建新事件,右键单击,然后单击获取信息
  2. 设置事件开始时间(字段"starts:"信息)。例如,当前时间后10分钟。
  3. 单击"警告:"信息字段
  4. 在弹出菜单中选择"事件发生时";(例如)
  5. 单击"自定义……"弹出菜单字段
  6. 选择"打开文件";而不是其他警报类型
  7. 选择"其他…";而不是"日历";——比;打开选择文件对话框
  8. 选择要在文件系统中打开的脚本(或应用程序)。
  9. 单击"Apply">

现在,在指定的事件开始时间,它将自动打开您的附加的编译脚本在默认的脚本编辑器中,或将运行脚本保存为应用程序如果有一个是连着的。或者,它会打开一些图像在预览。如果附加了图像文件,则应用程序,等等。即使日历。应用程序未运行

在Youtube上有这个视频教程来帮助更多:https://www.youtube.com/watch?v=2HhFzIcHEGY for在Mac上使用自定义日历提醒.

最新更新