Macro recorder
# Macro recorder

A macro recorder is software that records macros for playback at a later time. The main advantage of using a macro recorder is that it allows a user to easily perform complex operations much faster and with less effort without requiring custom computer programming or scripting.

## Built-in macro recorders

Most word processors, text editors, and other office programs have a built-in macro recorder to automate the user's actions.

## Standalone macro recorders

Not all software comes with a built-in macro recorder. A standalone macro-recorder program allows a user to "record" mouse and keyboard functions for "playback" at a later time. This allows automating any activity in any software application: from copy-pasting spreadsheet data to operating system maintenance actions.

Most macro recorders do not attempt to analyze or interpret what the user did when the macro was recorded. This can cause problems when trying to play back a macro if the user's desktop environment has changed. For example, if the user has changed their desktop resolution, moved icons, or moved the task bar, the mouse macro may not perform the way the user intended. That's one of the reasons for preferring keyboard macros over the mouse-oriented ones.

However, some recorders do attempt to analyze user actions, trying to record mouse activity in window-related, not screen-related coordinates, for instance, or to detect exactly what widget a user selected.

Possible features of standalone macro recorders include:

* a built-in editor that allows a macro to be composed rather than recorded. This includes adding conditional statements, custom commands such as "open file", "launch website" or "shutdown computer".
* conversion of a macro to a compressed executable file (".exe") that can run independently, without the need for the software that generated the macro to be present on the user's computer.

## History

The emacs text editor is well known for its macro-recording ability, whose name is an acronym for Editing MACroS.

