Find missing birth days in Apple Addressbook

Posted by Felix Ogg on Stack Overflow See other posts from Stack Overflow or by Felix Ogg
Published on 2010-05-26T14:22:26Z Indexed on 2010/05/26 14:31 UTC
Read the original article Hit count: 300

Filed under:
|

I am trying to clean the holes out of my Mac address book. As a first step I want to ask all my friends for their birth day, to be able to congratulate them with cheesy Hallmark cards.

I need a "group" in my address book, to mailmerge personalized messages from.

This is the Applescript I came up with:

tell application "Address Book"

make new group with properties {name:"No Birthday"}

set birthdayPeople to (get every person whose birth date is greater than date "Monday, January 1, 1900 12:00:00 AM")

repeat with i from 1 to number of items in people

    set thePerson to item i of people

    if not (birthdayPeople contains thePerson) then
        add thePerson to group "No Birthday"
    end if

end repeat
save 
end tell

It breaks, but from the error messages I cannot deduce what is wrong:

Result: error "Can’t make «class azf4» id \"05F770BA-7492-436B-9B58-E24F494702F8:ABPerson\" of application \"Address Book\" into type vector." number -1700 from «class azf4» id "05F770BA-7492-436B-9B58-E24F494702F8:ABPerson" to vector

(BTW: Did I mention this is my first AppleScript code, EVER? So, if this code can be simplified, or made more elegant, that is welcome too.)

© Stack Overflow or respective owner

Related posts about applescript

Related posts about mailmerge