Title: Further problems from the Title vs. Suffix issue
Not to belabor the point, but there are more problems caused by the Title vs. Suffix issue. When printing an Address Book (and, by the way, it is an attractive format), there is no way to print the Suffix. The M.D. Or Ph.D. Or other suffix does not print anywhere in the book. It would be nice to know if a certain person on the list is the R.N. Or the M.D. Or the R.T., etc.

[Sorry all my "Or's" are capitalized - Entourage is doing that by itself!]

As a workaround, and to temporarily help with the problem of the lack of display on the Palm, I have modified Paul’s script to add the Suffix to the categories in the “title” field.

Both a record  and the address
book used to look like this:                         Paul made it look like this:            I made it look like this:

    
John Smith                                John Smith, Jr., Ph.D.        John Smith, Jr., Ph.D.
   Jr., Ph.D.                                                  CategoryName                              Jr., Ph.D., CategoryName

I realize that it isn’t the best solution; if a person has an actual job title, then the summary display shows :

                Jr., Ph.D., CategoryName, ActualJobTitle

Also, the Address book will only display the Name without the Suffix, but at least the Suffix  info now appears on the record.

My suggestion is that when MBU fixes this issue, you also arrange for all categories to be displayed in the summary without having to place them in the Title field, and for the printed address book to print the suffix following the name. [I would also like some other categories to be optionally printed, but please work on fixing the bugs first.]

Here is Paul’s script, modified to work as above, with my additions in red:


--   - - - - - - - - - - - Start HERE - - - - - - - - - - - - - -

(*  I CHANGED THE FOLLOWING TO ADAPT IT to add the Suffix to the Title Category as well to allow Palm display and Address Book Printing  of the Suffix. This script to set the name of every category applying to each contact you select in  your Entourage Address Book to appear immediately beneath his or her name on the Summary page of the contact "booklet". This is done by filling in the Job Title category with the category names. Use it after creating a new contact, either with its contact window still open (the script will close it, saving), or by selecting one or many contacts in the address book . Use it also if you ever want to replace the real job title of a contact skipped by the "All Contacts' Categories" with the category names: command-select them and run "Display Contact 's Categories" script. To apply to all at once to all the contacts in your Address Book who don't have job titles, use the script "All Contacts' Categories".

Author: Paul Berkowitz <[EMAIL PROTECTED]>   
*)

tell application "Microsoft Entourage"
    try
       set theSelection to the selection --
if closed contact booklet in front, will error
       if (class of theSelection � list) or ({class of item 1 of theSelection} is not in {contact, group}) then error number -128 -- to enforce 'on error' if string, folder, address book, etc.
   on error
       set theName to (name of window 1)
        if exists contact theName then --
must be the contact's booklet window in front
           close window 1 saving yes
            set theSelection to {contact theName} --
to parse correctly below
       else
           beep
            display dialog "You need to select at least one contact in the Address Book first." with icon 0
            return
       end if
   end try
   
    set {ods, AppleScript's text item delimiters} to {AppleScript's text item delimiters, {", "}}
    repeat with theContact in theSelection
        if class of theContact = contact then --
avoid groups selected in error
           set categoryList to (category of theContact)
            set theCategories to {}
            repeat with aCategory in categoryList
                set end of theCategories to name of aCategory
            end repeat
           set job title of theContact to (theCategories as string)
            set theJob to job title of theContact
            set theSfx to suffix of theContact
            if not theSfx = "" then
               set theJob to theSfx & ", " & theJob
                set job title of theContact to theJob
            end if
       else if class of theContact = group then
           repeat with grpMember in (every group entry of theContact)
                set {dName, theAddress} to {display name, address} of content of grpMember
                set grpContacts to find theAddress
                if (count grpContacts) = 1 then
                   set grpContact to item 1 of grpContacts --
don't worry about display name, could be company, etc.
               else
                   repeat with aContact in grpContacts
                        if dName = name of aContact then
                           set grpContact to aContact
                            exit repeat
                       end if
                   end repeat
               end if
               set categoryList to (category of grpContact)
                set theCategories to {}
                repeat with aCategory in categoryList
                    set end of theCategories to name of aCategory
                end repeat
               set job title of grpContact to (theCategories as string)
                
            end repeat
           
        end if
   end repeat
   set AppleScript's text item delimiters to ods
end tell

-- - - - - - - - -  - - END OF Script - - - - - - -   
--
Bruce Klutchko

[EMAIL PROTECTED]

Reply via email to