This is Christmas Card list related. Last night I stayed up too late formatting the Christmas letter. Which everyone really liked; now I just have to wait for three family members to contribute content. Flar has enough to say that I may shrink Tigger's contribution down to a talk-bubble -- he really doesn't know what he wants to say. And Critter is waiting to hear from Rice, since that's newsletter-worthy material. Which means the only thing I had left to work on was address labels. Mind you, I'm not bothering to print them until the letter is printed, to give people time to give me addresses. But I knew it wouldn't be simple.
Appleworks is getting creaky. Last year, I exported addresses from Address Book, loaded them into an Appleworks database, made a layout for the right label size, then tweaked some of the funky addresses individually. But the thing is, Address Book can print labels itself. And I'm starting to switch over to iWork, which doesn't have a database component, plus, I just discovered the Address Book builtin support for country formatting for addresses. I mean, it's nifty smart in printing labels, really.
Except. There's addresses, and there's Christmas cards. Christmas Cards go to households. I don't send a different card to each member of a marriage. I might send two cards to one house, but generally there's a bunch of sharing between what are individual entries in the Address Book. And, Address Book is not a relational database. I mean, it's got lots of nifty grouping stuff, but it's not like you can define one address and have bunches of records point to it. There's other issues, like cards for individuals, but I'd like to address cards to include spice, etc.
Kludge number one: use the Nickname field to note what name(s) to put on the address label.
Stumbling block: While the print function allows incredible flexibility in printing lists, it had a bunch of assumptions builtin to the logic for printing address labels. There is no option for changing which field goes at the head of the address.
But wait, there is a clicky box for include Company Name. I did a little more messing around, and found that if a card is marked "Company" AND "Print Company Name" is clicked, then it will chose the Company Name field OVER the individual name.
Kludge number two: copy all the Nickname fields to the Company field, and mark all the cards "Company".
There are currently 190 cards in the Christmas group. I *really* didn't want to cut and paste and click all 190 changes. And go back again later and put them right. And be able to do it over again next year. Etc. So a script. I even save the Company field into an up-until-now unused field (Department), in case I was keeping that info around for anybody. No error handling. Ran the script on a bitty test group first and caught a glaring teensy font-size error (1 and i are awfully similar in 9 point non-serif).
I still got stymied by trying to pre-set exactly the right clicky boxes in the print dialog. I can see clearly in the dictionary for Address Book, that a print command is support. That I can leave it in dialog, so I don't have to actually hit print for test runs. But I can't find any documention on how to pre-specify any of the Address Book specific properties. Heck, I can't suss out the syntax for doing so with the regular print properties, cause I don't grok that bit of the dictionary.
Like I say. Getting old. And also suspecting that full applescript support is still lacking in Address Book.
I also think I'm experiencing some break-through depression. Distaste for activity, letting sleep schedule go completely awry, totally behind on chores, irritable (although that was almost entirely while looking for the tutorial I used to have on Applescripting). Will work at pushing through it. Spa vacation will be timely, I think.