For years I have dug into the potential of VBA (Visual Basic). While I am a firm believer in choosing the appropriate technology solution, and encouraging developers to add features, there comes a time when the you need to “enhance” the program by using automation tools outside the program.
Many IT support people use “stored procedures” or schedule scripts. These make sense for predictable and regular activities. But there is a whole other area of “repetitive activities” that take time, but don’t fall into the class of regular procedures. Moreover, some of these activities require the operation of multiple programs to be run.
Recent Projects
We recently completed a project where we used VBA as the GLUE between Microsoft Word, HotDocs, and Adobe Acrobat. We wrote a script that (a) launched a HotDocs interview which allowed the user to programatically select from among 300 templates, a mixture of .DOCX files and .PDF files for mass assembly, (b) to assemble the selected templates without further interview using HotDocs, (c) to convert the output into individual PDFs, and (d) to then merge the PDFs into a single master PDF for presentation to the user. Getting VBA to consistently time the multiple assemblies and conversions required careful programming and “event management”.
However, a recent task came up that called for a completely different category of software. I needed to go through a HotDocs libraries and convert the CMP file format from HotDocs11 format or Current Format, back to HotDocs10 format. For this, I turned to “keyboard accelerator programs.
I review a number of free and for-pay programs. I ultimately chose AutoHotKey (www.autohotkey.com). With this program, I was able to document a sequence of commands that could be executed by just typing a sequence of keys in ANY active program. In my case, after mastering the SEND KEYS sequence to convert the format, I turned to a more tricky, multistep process.
I chose to (a) Open an RTF template from a HotDocs library and save it as a .DOCX (b) then open CMP properties and change the format to HotDocs 11, and (c) change the library properties to reflect the new file path. With AutoHotKey, I was able to reduce this process to 3 clicks and 10 seconds.