Visual Basic automation is a broad term that could refer to many aspects of Visual Basic programming or possibly to Visual Basic for Applications programming. But for the sake of argument, let’s assume that Visual Basic automation refers to the process of automating the generation of MS Word documents, a wide-spread practice, even today, among many commercial enterprises and government agencies.
Visual Basic for Applications is a powerful platform capable of delivering powerful applications. But what makes it the wrong choice for automating the generation of documents (document automation) is its intended purpose as a general development platform. Put another way, Visual Basic simply doesn’t include a long list of basic features that are necessary for serious document automation.
For example, after you build automation characteristics into a Word document, you would then have to manually code custom interviews, a lengthy and difficult process. Contrast this VBA shortcoming with HotDocs, the most powerful of the document automation RAD platforms, which automatically generates an interview for an automated document. Likewise, VBA has no internal system for saving and managing answer files.
VBA also lacks many basic scripting features that are commonly needed in the automation of documents. Nested repeat loops, functions necessary for correctly punctuating assembled text, tri-state logic (the ability to test for unanswered questions in Boolean expressions) are all critical to effectively automating the generation of documents, but are all missing in VBA. VBA doesn’t allow for shared component files among templates, nor does it allow for multi-platform deployment of templates. In other words, a VBA template won’t seamlessly run in a browser, a luxury that HotDocs users have long taken for granted.
I’m, of course, just scratching the surface, but you get the idea. If you happen to have a small handful of simple documents that you want to automate, VBA may work for you. But if your business is heavily dependent on document generation, if your documents have real complexity, and if you don’t happen to have a small army of software engineers sitting around with nothing to do, then VBA is simply the wrong choice.