Building-Bookcase

VBA for Document Automation: Building your own Power Tools

Document Services

A commonly asked question is this: Why is HotDocs better than VBA for Document Automation (commonly referred to as Word macros and templates for document automation)? There are bunches of reasons I can give, but the most important one is this: VBA is a general programming environment and doesn’t include many of the requisite functionality and feature sets you’re likely to need for enterprise-grade document automation. (See “VBA and Macros and the Cost of Building a Bathroom“)

Here’s an analogy that may help make my point: Let’s suppose you want to build a bookcase, but you don’t have any power tools—no saw, drill, sander, etc. You could go down to your local electronics supply warehouse and buy some electric motors, switches, spools of wire, etc—very powerful, necessary components that could be used to build any number of technologies—and begin the process of building your own power tools. Not only are you in for an extended and expensive process, but in the end, your tools aren’t likely to stack up to the ones built by the professionals.

Now the fact is Makita, DeWalt, and Black & Decker may all use the very same components that you’re planning to use, but they’ve spent millions of dollars, not to mention decades, in refining their products, making them efficient, powerful, flexible, and safe. They’re readily available right now, today, at any home center in the world, and you can walk right in and take your pick for a tiny fraction of the overall cost of building your own.

So in case you missed my point, VBA (Word macros and templates) is a box of motors, switches, spools of wire, etc.—all vital components in lots of other technologies. In fact, Visual Basic, not to mention several other Microsoft technologies, is used in the code base of HotDocs itself. So where VBA is motors and switches, HotDocs is saws, drills, and sanders. Put another way, if you want to build a saw, choose VBA. If you want to build a bookcase, choose HotDocs.