Skip to main content »

MS Word Macros: Two Types and Neither Is Great for Document Assembly

April 2, 2018  |  Cybersecurity

MS Word Macrosis a method by which you can automate a word-processing task that you have to perform repeatedly.MS Word allows for two types of macros, depending on the complexity of the task: (1) keystroke macros and (2)scripted macros(Visual Basic for Applications or VBA). While VBA is a powerful scripting platform that allows for conditional logic within macros and is frequently used for buildingdocument assemblytemplates, it, nonetheless, lacks critical functionality for complexdocument assembly.



One key scripting weakness of VBA fordocument assemblyis its lack of tri-state logic. Withdocument assembly, any number of situations might require conditional logic to be based on not just one of two states—eithertrueorfalse—but on a third state, which isnullorunknown.In other words, if the condition istrue, do A. If the condition isfalse, do B. And if the condition isunknown, do C. In real terms, tri-state logic is critical in situations where a template user may not answer a question at all.In other words, if the question isunanswered, do C.



In contrast to VBA, HotDocs, which is a RAD (Rapid Application Development) platform, designed specifically for document automation, easily handles tri-state logic, as well as a variety of other document-automation-specific scripting tasks, such as repeating blocks of text with automated punctuation, and composing documents by aggregating and inserting sub documents. HotDocs automatically allows for the storage and reuse of answer files, creates questions for variables used in the document, allows for a template user to move backward and forward in a template interview . . . And that’s just scratching the surface of features available in HotDocs but not with Word macros.



Keystroke macros are great for many repetitive tasks. VBA is a powerful language and dramatically extends the overall functionality of Word. But together, they still don’t come close to the document-assembly-specific functionality in HotDocs.

Share this article