I read that if you can teach your dog to 'speak' on command, you can train them to not bark too. Passionfruition posted a great site that tells you how to do this (speak).
http://yorkietalk.com/forums/showthread.php?t=3780
I managed to teach Lucy in about half an hour to speak on command and so far she is getting better when be ask her to stop barking!