Macros are sets of instructions that can be triggered by a single command (or even by clicking a button in a program's user interface). Macros are usually embedded in applications or documents, and are often used to execute commonly-performed or repetitive tasks that the user would otherwise have to do.
Though macros are extremely useful, they can be exploited and misused to deliver, execute and hide malware, which are thus often referred to as "macro viruses".
While many applications use macros to improve their user-friendliness, macro viruses are most commonly associated with Microsoft Office programs (such as Word, Excel or Access) due to the almost ubiquitous reach of the business productivity suite.
Most macros will only work with a specific version of a specific application, though there are a very few macro viruses that are capable of operating in multiple environments.