Word97 gets ===VERY=== confused about identical procedures in identical(ly named) modules in different templates.

Each application I write is based on my module U from my template Utils.dot. I start building each application with a full compliment of utility functions. (I actually open Utils.dot and save it with a different name, such as Codet.DOT or Procs.dot).

Two of the procedures in module U (and hence two procedures common to every application) are set out below:

<pre>Public Sub cmd_WhoAmI()
MsgBox strWhoAmI
End Sub

Public Function strWhoAmI()
strWhoAmI = "Application: """ & strcApplication & """ Template: """ & _
MacroContainer.Name & """ Build: " & intGetBuildSequence
End Function

When I build an application toolbar, I drag the macro command "cmd_WhoAmI" for that application template onto the application's toolbar toolbar and give it an identifer of question-mark ("?"), my idea being that I can always click on the question-mark on an application toolbar and get a readout, as a MsgBox, of the name and build of the template file.

Here's the odd thing: Picture my Word97 screen, with half-a-dozen toolbars called CodeT, Custm, Files, GnDoc, Hyper, Procs and Trail; each toolbar has a question-mark which represents the cmd_WhoAmI procedure in that template's personal copy of the U module.

When I click on the Procs question-mark, the CodeT WhoAmI responds! If I remove the CodeT application (Tools, templates & Addins, check off the box) then the CustM responds! If I disable Custm, then Files responds, then GnDoc responds, then Hyper etc.

It's as if Word97 ignores the template/project but sees only the Module name ("U" in all cases) and picks the first template/project bearing a module of that name.

Very annoying.