Moving from Microsoft Office VBA to AppleScript:
MacTech's Guide to Making the Transition
Introduction
|
Table of Contents
Page Prev and Page Next buttons at bottom of the page.
|
April, 2007
Page 125
display dialog "All done!"
end tell
Note the 'whose' filter in the first line to get just the contacts with commas: otherwise you'd end up switching names of contacts that were correct to begin with. The reason for using the tell theContact block (rather than using of theContact) was primarily to be able to set a list of properties in one line:
set theContact's {first name, last name} to {realFirst, realLast}
outside a tell block directed to theContact would error. However, getting a list of properties in one line always works:
set {realFirst, realLast} to theContact's {last name, first name}
One of the many quirks of AppleScript…
Flag Contact for Follow-Up (Make a Task)
You will have noticed that in Word, Excel and PowerPoint, you can "Flag for Follow Up" in the Tools menu. That creates an Entourage Task for your document (once you save it) that can send you a Reminder about it. This is very useful, and an impressive use of Office as an inter-application suite. However, Entourage itself does not have the same utility, except for email messages.
Of course, Calendar Events and Tasks have their own reminders, which is the same thing. But there is no way to flag a contact other than by just setting the little red flag: there's no "Flag for Follow Up" menu item to make a task with a reminder for the contact – say, as a reminder that you need to email them, or phone them, or write a letter. This simple script will do it by making a task with a reminder in just the same way, carrying over the name of the contact and a prospective Reminder time, which you can change, and links the task to the contact.
-- Prepare the times of the due date and reminder
set now to current date
copy now to today
set time of today to 0 -- midnight
set nextHour to (((time of now) div hours) + 1) * hours
set time of now to nextHour -- on the hour
tell application "Microsoft Entourage"
try
--get the selected contact(s)
set theContacts to (get selection)
--check that they are actually contacts
if class of (item 1 of theContacts) contact then ¬
error number -128
on error
beep
display dialog "First select a contact before running " & ¬
"the script." buttons {"Cancel"} default button 1 ¬
with icon 0
return
end try
< Previous Page Next Page>
- SPREAD THE WORD:
- Slashdot
- Digg
- Del.icio.us
- Newsvine