The macro virus does its work broadly as follows. The virus code is saved in a file which has the .doc filename extension, but is in fact saved as a template. In Word 97 they can also be stored in Word documents themselves. When you open the infected document, the virus copies itself into your normal.dot When you open and save any other document, the virus intercepts the one or other of the Word commands, saves the document as a template, and copies itself into the new template. This template again has a .doc extension, so there is no particular reason to notice that there is something wrong.
Some viruses do little more than propagate themselves.
Some of you may not agree with me explaining how to write a virus. Fair point, which I'll answer the following way. First, I have given only the sketchiest outline above, not really enough by itself to go and write a virus. Second, those who want to write viruses can work all this out for themselves, and will already have far more information on the subject than I have given here. It is fairly straightforward to see if you have been infected.