This started from another thread- but it was diverging from the original question, so I thought it was worth while starting another thread (and opening myself to all sorts of ridicule!)
The fundamental problem is that it’s so easy to deploy7 solutions in Normal.dot- but distributing them causes all sorts of hassles.
I have a situation in our site where I want all templates to reference a common routine on autoNew.
After many problems with Normal.dot, I sought to use add-ins- templates in the Word startup folder which (supposedly) are available from all routines. Some of the problems were with the fragility of Normal.dot- there’s something which is zapping it with old versions of the template. The other problem is distributing it without zapping users’ settings. And when the user whose settings are zapped are the head honcho, it’s not pleasant.
Well, as it turns out, it appears they’re not quite. An “AutoNew” or “AutoOpen” in an add-in does not appear to get executed.
So this is a solution I’ve come up with.
In my Normal.dot I have a skeleton AutoNew. All it does is to run a routine in my add-in. So any changes to AutoNew, I only have to put in the add-in.
Every template has a reference set to Normal.dot, so the AutoNew in Normal.dot is executed.
Also, in the add-in, is an AutoExec. Mysteriously, this DOES run when Word is opened.
The job of the AutoNew in the add-in is to check the code in Normal.dot. If the code is non-existant, or if it is different from what it is supposed to be, that single module is copied into Normal.dot. All other user settings etc are maintained.
It’s experimental at the moment, but it appears to be working so far. We will be rolling it out more widely shortly if we can’t find problems.
So any flaws in the approach would be welcome.