I can use iCal to make a new event.
tell application "iCal"
tell calendar "Todo"
set new_event to make new event at end of events
tell new_event
set start date to date "Friday, May 6, 2011 4:00:00 PM"
set end date to date "Friday, May 6, 2011 4:30:00 PM"
set summary to "Feed ferret"
set location to "Home 2"
set allday event to false
set status to confirmed
end tell
end tell
end tell
However, when I use a variable to replace the string, I got an error.
tell application "iCal"
tell calendar "Todo"
set new_event to mak开发者_Python百科e new event at end of events
set m_date to "Friday, May 6, 2011 4:00:00 PM" --> variable m_date
tell new_event
set start date to date m_date --> Error
set end date to date "Friday, May 6, 2011 4:30:00 PM"
set summary to "Feed ferret"
set location to "Home 2"
set allday event to false
set status to confirmed
end tell
end tell
end tell
Why can't I use variables for setting up iCal event?
because 'date' is a function that converts the string to a date format that ical accepts so you simply must put 'date' in your variable
on somefunction()
set m_date to date "Friday, May 6, 2011 4:00:00 PM"
my make_todo(m_date)
end somefunction
on make_todo(m_date)
tell application "iCal"
tell calendar "Todo"
set new_event to make new event at end of events
tell new_event
set start date to m_date
set end date to date "Friday, May 6, 2011 4:30:00 PM"
set summary to "Feed ferret"
set location to "Home 2"
set allday event to false
set status to confirmed
end tell
end tell
end tell
end make_todo
ll end tell
精彩评论