A "macro virus" is a virus within a document that spreads to other documents. The documents in question must support some type of scripting language. The most common macro virus infects Microsoft Word documents using VisualBasic. It usually spreads by first infecting the Normal template, then all other documents from there.
Such viruses may also have a payload, which is some activity not related to spreading the macro virus.
Such viruses may support stealth, which help them avoid being seen when the user attempts to view the macros within a document.
Such viruses may support polymorphism, which attempts to change its signature in order avoid virus scanners.