I would have suggested the thing you've already tried, but it looks like
that wouldn't have worked ;)
What you could try is, for each template, write a short macro (as little as
one line of proper code) that you put in the ThisWorkbook object like this:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Application.ActivePrinter = "Canon Bubble-Jet BJC-4300 on LPT1:"
End Sub
The active printer won't change when you open the book but rather when the
user prints, so if they want to print to another printer there might be a
problem. The alternative is to use Workbook_Open instead of
Workbook_BeforePrint. This would change the printer on opening the file so
the user can choose another if desired, but I believe that if you created a
workbook with YourTemplate1 and then another with YourTemplate2, the printer
which is chosen by YourTemplate2 would then get used by default for both
files. This is probably unavoidable anyway, since Excel can only have one
printer active at a time.
HTH,
Paul C,

Signature
> Can we select a default printer on a template by template basis?
>
[quoted text clipped - 6 lines]
> TIA,
> Karl