Thanks a lot! Far too simple to figure it out
I also tried "get every event whose category = {}", but that didn't work
either. I don't really understand why, so please enlighten me.
That's a little more complicated. You probably realize that 'whose' will
work for every other property in Entourage, except 'category'. ('account'
used to be a problem too.) So why not 'category'.
When Dan implemented 'category', he used the same term for the _class_
'category' and for the _property_ 'category' - which is a property of
contact, group, message, event, task, note, etc. AppleScript can get
confused when this happens- the class, or application property, gets
priority over an object's (element's) property. The 'tell' block is still
directed to the application "Microsoft Entourage". So the script thinks
you're asking for the 'category' [property] of the application "Microsoft
Entourage". And the application doesn't have a category property - so you
get an error.
By using 'where its' - which is a synonym for 'whose' (you can use it
anywhere you might use 'whose' - see the AppleScript Language Guide) you are
specifying by 'its' that you might the object - 'event' - just referred to,
and not the application. So it works.
Dan later regretted that he hadn't used a different term, such as 'category
list' for the category-property of event, task, etc. You'll notice in
Entourage 2004 that that's what's been done with the new 'project': the
class is called 'project', but the property of event, task, etc. is called
'project list'. So you can use 'whose' with
every event whose project list = {} without error.
Not so for 'category' property: you need 'where its'.