Somewhere at the end of the eighties, my dad started work at his [local university](http://www.rug.nl) where he became the [WordPerfect](http://en.wikipedia.org/wiki/WordPerfect) expert, which was the dominant word processor at the time. Beside acting as a helpdesk and laying out documents, he also spent a lot of time writing [WordPerfect macros](http://www.shkatz.com/macrotut/tofc.htm). WP's macro language allowed you to add functionality and automate common tasks. All was well, until Microsoft came along with Microsoft Office. It took Microsoft a long time to dominate the word processing market, but they managed to push WordPerfect practically out of the market with Word '97. My dad's university also switched to Word around that release. Word uses a dialect of BASIC for writing macros: [Visual Basic for Applications (VBA)](http://en.wikipedia.org/wiki/Visual_Basic_for_Applications). He still does the majority of his programming work in VBA. To give you a flavor: ~~~~~~~~~~~~~~~ Public Function BusinessDayPrior(dt As Date) As Date Select Case Weekday(dt, vbMonday) Case 1 BusinessDayPrior = dt - 3 Case 7 BusinessDayPrior = dt - 2 Case Else BusinessDayPrior = dt - 1 End Select End Function ~~~~~~~~~~~~~~~
* Custom spreadsheet functions * Custom menus in the spreadsheet application * Send e-mails * Read and manipulate spreadheets * Communicate with web services
Google took another step to become a serious Microsoft Office competitor. And my expectation is that more web applications will allow users to build macros in this fashion soon.