A sequence of pre-determined commands used to automate repetitive tasks. For instance, if you frequently use a function hidden deep inside the pull-down menu hierarchy of a program that supports keystroke macros, the only thing you should do is recording the necessary keystrokes, and assigning a shortcut key to play your macro. Some software applications such as Microsoft Office uses programming languages (in this case Visual Basic) to write advanced macros that go beyond simple keystroke recording.