Thanks for getting back to me fumei.
The reason I didn't post all of the code is for confidentiality - the nature of the letter/client would become clear from the variable names. However when I'm back in the office on Monday I'll change the variable names and post the code if that helps?
As to using a real template - I'm not sure how. Happy to receive any suggestions on how best to achieve the same result with less hassle and greater efficiency.
Constructive criticism is also welcome