This may help you (it solved my problem) from Jimbo:
Maybe you can make this a sticky -- often comes up and I posted a solution yesterday which works.
..............extract from previous post .....
I've posted on this before but to share Printers attached to XP computers with either X-64 or X-32 versions of Windows 7 is SIMPLE. These instructions are for the Printer attached to the XP machine (but works in reverse as well).
("Stand alone" Network printers can be done slightly similarly BTW).
assume the computers are call XPMACHINE and W7MACHINE.
1) Ensure Printer on XP machine is shared - assume it's called SHAREDPRINTER.
2) On the Network Browsing on your Windows 7 machine ensure you can "See" the Printer share.
Now on the Windows 7 machine do the following (doesn't matter if it's X-86 or x-64).
3) Control Panel==> add LOCAL (Yes LOCAL) printer. I know it's on a Network but hold your horses -- what we are actually doing is "Poodlefaking" the Windows 7 machine into thinking it's running the printer.
4) Create NEW port==>Local port
5) Portname is \\XPMACHINE\SHAREDPRINTER
6) Now Windows 7 will load a driver and you'll be able to print on the XP machine.
(For a "Network stand alone printer") at 4) chose TCPIP port
and at 5) enter the IP address.
If the printer is on the Windows 7 machine and you want to print on the XP machine then do the same instructions on the XP machine --
port name in this case will be \\W7MACHINE\SHAREDPRINTER