Except for a simple attempt many years ago, I haven't tried to program anything in TCAD: but I have written lots of programs for Excel, using their VBA.
The huge problem with VBA is that it changes every year or so, and the changes are not backward compatible.
When you write a macro, you do it quickly so as to get something done. It relies on all those myriad of internal methods and properties, and so why document anything? Except that a year later, they've all been changed and now the macro doesn't work.
Also, in VBA it is always possible to do any given action in one line of code, and always impossible to find out what that line should be, until someone brighter and more au-fait comes along and makes you feel stupid by telling you. In other words it has been exploded in complexity and arbitrariness.
Whatever IMSI does, it MUST have domumentation that answers "How do I do xxx", NOT "This is what yyy does". The problem is that I have no idea that yyy even exists, let alone what it's called, so there's no way I can find it. Searching through help is usually just an exercise in frustration, since even if yyy exists, it is not described in the way I'm thinking about it.
It's one thing to provide a programming environment to people who are planning to spend their lives working with it, quite another for the casual user. This is what Msoft forgot with VBA.
Windows 7 ultimate, Core i7 3.07GHz, 4 cores, 9G memory GEForce GTX 285