One of my managers used to say that the only reason people write software is because there isn't already an emacs or Excel macro to do what they need.