I've never thought about it that way before, but you're absolutely right.
Another "domain-specific mail merge" that I built was a tool to pull summary data out of the client financial records and populate specific fields in some off-the-shelf income tax software.
That was a terrible tool to write and maintain. The tax software's import feature didn't actually work correctly. I reached out to the vendor and the response was basically "Works for us", so doing it the right way wasn't an option.
Instead, I used VBA to blindly enter data into the program using SendKeys[0]. Maintaining the program was a case of tabbing through and counting the number of times I had to tab. Enter first name, tab, enter last name, tab three times, enter address line 1, etc. Next year when the forms in the tax software changed I'd have to add/remove tabs in the appropriate places, sometimes input stuff in a different order, etc.
As a program, it was horrible, horrible code. As a useful tool for the business, it was incredible. It saved a ton of time and the staff that used to do this by hand, in addition to doing actual work on the more complex files, were incredibly happy.
Holy cow why didn't I know about this 6 months ago =|
VBA is something I have had to reluctantly learn. It's a horrid/ancient language. Sorry if someone gets offended at that but to someone who uses a lot of modern development languages/tools it's just very very difficult with near-zero "nice to haves"... you just end up taking this huge lib of code around with you with functions like "inArray" etc.
> As a program, it was horrible, horrible code. As a useful tool for the business, it was incredible.
That's something that's rough for us engineers but can be hedged with great documentation, both inline and and otherwise =)
Is anyone aware of a good resource to learn VBA? All the resources I've seen online are either tutorials for very quick hacks, or assume you have 0 programming knowledge. I would love a "VBA for people who are familiar with at least one other programming language".
Yep! Sparingly but for some Windows-based tasks you can't beat it. Also it's a solid solution that has great support/devs behind it so it definitely has a home in my toolbox!
Another "domain-specific mail merge" that I built was a tool to pull summary data out of the client financial records and populate specific fields in some off-the-shelf income tax software.
That was a terrible tool to write and maintain. The tax software's import feature didn't actually work correctly. I reached out to the vendor and the response was basically "Works for us", so doing it the right way wasn't an option.
Instead, I used VBA to blindly enter data into the program using SendKeys[0]. Maintaining the program was a case of tabbing through and counting the number of times I had to tab. Enter first name, tab, enter last name, tab three times, enter address line 1, etc. Next year when the forms in the tax software changed I'd have to add/remove tabs in the appropriate places, sometimes input stuff in a different order, etc.
As a program, it was horrible, horrible code. As a useful tool for the business, it was incredible. It saved a ton of time and the staff that used to do this by hand, in addition to doing actual work on the more complex files, were incredibly happy.
Overall, it was completely worth it.
[0] https://docs.microsoft.com/en-us/office/vba/language/referen...